time="2025-04-28T12:01:44Z" 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-device-1 Creating Container integration-test-experiment-1 Creating Container integration-test-federation-1 Creating Container integration-test-gateway-1 Creating Container integration-test-authorization-1 Creating Container integration-test-authentication-1 Creating Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-device-1 Created Container integration-test-authorization-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/lti_service.conf to /etc/nginx/lti_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} 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-28T12:02:33Z"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"client_addr":"127.0.0.1:40640","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-04-28T12:02:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40640","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.228393,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:02:33Z"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1745841753.7341466} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1745841753.7342324} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1745841753.7342515} 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":1745841753.734266} 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":1745841753.7342782} 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":1745841753.734316,"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":1745841753.734829} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1745841753.735832} 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:59928","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-04-28T12:02:33.749990941Z","id":"01JSY4E3MNRNVVEJH5RZYVH3G7","name":"crosslab","updated_at":"2025-04-28T12:02:33.749990941Z"},"request_id":"60981bbe-377a-4ca4-b379-0a4f2b40ebe1","subsystem":"openfga","timestamp":1745841753.7501245} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"WriteAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"schema_version":"1.1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01JSY4E3PB7SSAT1CJ3PZ9E3G1"},"request_id":"f5e6142d-3260-44d5-8c36-842ce7819cf6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841753.8036451} authorization-1 | {"client_addr":"127.0.0.1:40640","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-04-28T12:02:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40640","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":1.005399,"resp_status":204,"subsystem":"opa","time":"2025-04-28T12:02:33Z"} 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-28T12:02:33Z"} gateway-1 | {"time_local":"28/Apr/2025:12:02:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"efd10f1680b5c315d566b7d215af6f37"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 6ms","method":"HEAD","requestID":"efd10f1680b5c315d566b7d215af6f37","responseTime":6,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"28/Apr/2025:12:02:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /device/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c7cb23c101a1b903514e407f3cd397f2"} device-1 | {"level":"info","message":"HEAD /device/status 200 7ms","method":"HEAD","requestID":"b81f34b0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"28/Apr/2025:12:02:55 +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.033","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"d799545092afce499fcd4ae40e137062"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 5ms","method":"HEAD","requestID":"d799545092afce499fcd4ae40e137062","responseTime":5,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"28/Apr/2025:12:02:55 +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.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"6cd498258574c77235a82cfb3c43f98a"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 30ms","method":"HEAD","requestID":"b827c030-2428-11f0-8715-ff87ab82df1c","responseTime":30,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"28/Apr/2025:12:02:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /experiment/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"2aee7e267efc7af21a7f8dfef5dbd1de"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 7ms","method":"HEAD","requestID":"b82e76f0-2428-11f0-b34f-5167c4f6ce56","responseTime":7,"status":200,"url":"/experiment/status"} authentication-1 | {"level":"info","message":"POST /login 201 148ms","method":"POST","requestID":"c1bb7c4c27b52740569f8d20342ac45d","responseTime":148,"status":201,"url":"/login"} gateway-1 | {"time_local":"28/Apr/2025:12:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1bb7c4c27b52740569f8d20342ac45d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4M30.HXZbYWXuYuq2XVH1VikbJXbbiXO6P3qoW1i0KatrAIo","level":"info","message":"auth send jwt","requestID":"7f6af505195d2efd39eebe7c2347ac60"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"7f6af505195d2efd39eebe7c2347ac60","responseTime":11,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7f6af505195d2efd39eebe7c2347ac60"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.7646,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7f6af505195d2efd39eebe7c2347ac60","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841783,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4M30.HXZbYWXuYuq2XVH1VikbJXbbiXO6P3qoW1i0KatrAIo"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","method":"POST","requestID":"7f6af505195d2efd39eebe7c2347ac60","responseTime":17,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ba408c52-98f8-4c9d-a2a7-429c5692ad23","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841783.5996246} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"7f6af505195d2efd39eebe7c2347ac60","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b1b6e0e-683a-4c42-82fe-749c8d7bab7d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841783.63655} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"7f6af505195d2efd39eebe7c2347ac60","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"2f1fbbc7-cd05-44ec-940f-621d02ec189f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841783.6517322} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"457faaf1-9d92-4965-a477-74e5a4d02542","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841783.6524196} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"7f6af505195d2efd39eebe7c2347ac60","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:03.651702217Z"}]},"request_id":"2a3f7425-5eba-42af-b8b6-75b433547dee","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841783.6593041} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"7f6af505195d2efd39eebe7c2347ac60","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7f6af505195d2efd39eebe7c2347ac60"} gateway-1 | {"time_local":"28/Apr/2025:12:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.296","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f6af505195d2efd39eebe7c2347ac60"} device-1 | {"level":"info","message":"POST /devices? 201 250ms","method":"POST","requestID":"7f6af505195d2efd39eebe7c2347ac60","responseTime":250,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4M30.HXZbYWXuYuq2XVH1VikbJXbbiXO6P3qoW1i0KatrAIo","level":"info","message":"auth send jwt","requestID":"97f69a5581ff85159fdd052f0dff9280"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"97f69a5581ff85159fdd052f0dff9280","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"97f69a5581ff85159fdd052f0dff9280"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.910845,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"97f69a5581ff85159fdd052f0dff9280","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841783,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4M30.HXZbYWXuYuq2XVH1VikbJXbbiXO6P3qoW1i0KatrAIo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"97f69a5581ff85159fdd052f0dff9280","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"18e9b2be-419a-4342-a3d5-8fd0882811d6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841783.7883792} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"97f69a5581ff85159fdd052f0dff9280","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc9d7458-da86-4aab-9a45-9d4856cf0ad8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841783.7970352} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"97f69a5581ff85159fdd052f0dff9280","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"48d6bc78-225b-4fb2-a2c5-06ad49606807","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841783.8337286} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ebaaa87-c03b-48e9-b5d5-9196da2edece","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841783.8339386} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"97f69a5581ff85159fdd052f0dff9280","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:03.833714569Z"}]},"request_id":"b4f0eaf4-95ab-4841-a4d0-74f1242128cd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841783.8418028} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"97f69a5581ff85159fdd052f0dff9280","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"97f69a5581ff85159fdd052f0dff9280"} gateway-1 | {"time_local":"28/Apr/2025:12:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97f69a5581ff85159fdd052f0dff9280"} device-1 | {"level":"info","message":"POST /devices? 201 106ms","method":"POST","requestID":"97f69a5581ff85159fdd052f0dff9280","responseTime":106,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8703932e008b617e20ecf0e4c52194db","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8703932e008b617e20ecf0e4c52194db","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8703932e008b617e20ecf0e4c52194db"} device-1 | {"level":"info","message":"OPTIONS /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/websocket 200 1ms","method":"OPTIONS","requestID":"8703932e008b617e20ecf0e4c52194db","responseTime":1,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4Nn0.0VAHDBsvUv8L3DeWWG-L2jmeIqrgxIMf6hBlr8h9vlE","level":"info","message":"auth send jwt","requestID":"9e6b1e406143515a3037520a71be375e"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"9e6b1e406143515a3037520a71be375e","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9e6b1e406143515a3037520a71be375e"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"76b94026df6ba183d6ab72152c2c9454","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"76b94026df6ba183d6ab72152c2c9454","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:06Z"} gateway-1 | {"time_local":"28/Apr/2025:12:03:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/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":"76b94026df6ba183d6ab72152c2c9454"} device-1 | {"level":"info","message":"OPTIONS /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/websocket 200 1ms","method":"OPTIONS","requestID":"76b94026df6ba183d6ab72152c2c9454","responseTime":1,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/websocket"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937338,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9e6b1e406143515a3037520a71be375e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841786,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4Nn0.0VAHDBsvUv8L3DeWWG-L2jmeIqrgxIMf6hBlr8h9vlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9e6b1e406143515a3037520a71be375e","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4Nn0.0VAHDBsvUv8L3DeWWG-L2jmeIqrgxIMf6hBlr8h9vlE","level":"info","message":"auth send jwt","requestID":"6e580272c02c041767c6812101b5b8f5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6e580272c02c041767c6812101b5b8f5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6e580272c02c041767c6812101b5b8f5"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:06Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721929,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6e580272c02c041767c6812101b5b8f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841786,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4Nn0.0VAHDBsvUv8L3DeWWG-L2jmeIqrgxIMf6hBlr8h9vlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"6e580272c02c041767c6812101b5b8f5","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9e6b1e406143515a3037520a71be375e"} gateway-1 | {"time_local":"28/Apr/2025:12:03:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.090","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9e6b1e406143515a3037520a71be375e"} device-1 | {"level":"info","message":"POST /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/websocket 200 59ms","method":"POST","requestID":"9e6b1e406143515a3037520a71be375e","responseTime":59,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6e580272c02c041767c6812101b5b8f5"} gateway-1 | {"time_local":"28/Apr/2025:12:03:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/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":"6e580272c02c041767c6812101b5b8f5"} device-1 | {"level":"info","message":"POST /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/websocket 200 81ms","method":"POST","requestID":"6e580272c02c041767c6812101b5b8f5","responseTime":81,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw","level":"info","message":"auth send jwt","requestID":"f7a3302aedbd76ff1e69f5378bca9c99"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f7a3302aedbd76ff1e69f5378bca9c99","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7a3302aedbd76ff1e69f5378bca9c99"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645659,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f7a3302aedbd76ff1e69f5378bca9c99","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841787,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f7a3302aedbd76ff1e69f5378bca9c99","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:03.651702217Z"}]},"request_id":"0c607cbc-1a1c-4bb8-9592-a2dadf5a0456","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.096611} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f7a3302aedbd76ff1e69f5378bca9c99","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7a3302aedbd76ff1e69f5378bca9c99"} gateway-1 | {"time_local":"28/Apr/2025:12:03:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7a3302aedbd76ff1e69f5378bca9c99"} device-1 | {"level":"info","message":"GET /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576? 200 43ms","method":"GET","requestID":"f7a3302aedbd76ff1e69f5378bca9c99","responseTime":43,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw","level":"info","message":"auth send jwt","requestID":"3f5ca68442cbed55dcf2a0bfb153e892"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3f5ca68442cbed55dcf2a0bfb153e892","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3f5ca68442cbed55dcf2a0bfb153e892"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934404,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"3f5ca68442cbed55dcf2a0bfb153e892","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841787,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"3f5ca68442cbed55dcf2a0bfb153e892","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:03.833714569Z"}]},"request_id":"45814375-db61-426b-990a-1cc43e105ae1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.1454966} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3f5ca68442cbed55dcf2a0bfb153e892","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3f5ca68442cbed55dcf2a0bfb153e892"} gateway-1 | {"time_local":"28/Apr/2025:12:03:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c? 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":"3f5ca68442cbed55dcf2a0bfb153e892"} device-1 | {"level":"info","message":"GET /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c? 200 39ms","method":"GET","requestID":"3f5ca68442cbed55dcf2a0bfb153e892","responseTime":39,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw","level":"info","message":"auth send jwt","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8e7e77c4fbf106c65fa32734776f8ecd","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.68559,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8e7e77c4fbf106c65fa32734776f8ecd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841787,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8e7e77c4fbf106c65fa32734776f8ecd","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Attempting to run experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Attempting to book experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Successfully booked experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bf38d530-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bf392350-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638645,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf38d530-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841787,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"bf38d530-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.104978,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf392350-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841787,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"bf392350-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:03.651702217Z"}]},"request_id":"4b95ea5a-1e3f-4d88-b12f-4e57bba0f4de","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.4340806} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bf38d530-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:03.833714569Z"}]},"request_id":"683a0207-0d66-4f31-8e03-8b8a156d2c7e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.4357164} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bf392350-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bf38d530-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576? 200 46ms","method":"GET","requestID":"bf38d530-2428-11f0-a0e6-516e7b85a777","responseTime":46,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bf392350-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c? 200 45ms","method":"GET","requestID":"bf392350-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Setting up experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Successfully locked booking for experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Attempting to update booking for experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Successfully updated booking for experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Successfully set up experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bf5de960-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bf5e1070-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919692,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf5de960-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841787,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"bf5de960-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Successfully running experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796469,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf5e1070-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841787,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bf5e1070-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bf622f20-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8d2525e-43fb-4e93-b644-5a85b4ef0be5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.6780179} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:03.651702217Z"}]},"request_id":"aed3db2f-e19e-4139-b21a-839329ba7fbe","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.678481} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:03.833714569Z"}]},"request_id":"cf258dcc-f33b-48ed-8392-417445a30418","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.6799047} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bf5de960-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.943655,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf622f20-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","object_type":"device","rebac_allow":false,"scope_allow":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":"bf622f20-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bf5e1070-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bf5de960-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576? 200 47ms","method":"GET","requestID":"bf5de960-2428-11f0-a0e6-516e7b85a777","responseTime":47,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bf622f20-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/signaling 200 50ms","method":"POST","requestID":"bf622f20-2428-11f0-a0e6-516e7b85a777","responseTime":50,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bf5e1070-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c? 200 78ms","method":"GET","requestID":"bf5e1070-2428-11f0-a0e6-516e7b85a777","responseTime":78,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bf6a6c80-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F743b8f37-7bae-4291-aca6-c5720aa3db62#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F743b8f37-7bae-4291-aca6-c5720aa3db62","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"0e4c081a-b9b2-4e73-ae10-c57eb37efa1d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.7223375} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f71d3931-0f0c-4d8d-89b9-fae1af2289ee","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.722429} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bf6b2fd0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 57ms","method":"POST","requestID":"8e7e77c4fbf106c65fa32734776f8ecd","responseTime":57,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.512213,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e9a1466-356e-4b4a-a5d7-8f92f99ad223","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.7271247} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf6a6c80-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"bf6a6c80-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"979d1513-6e1a-490f-9108-8b74eca7faeb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.7339935} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.06595,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf6b2fd0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"bf6b2fd0-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 570ms","method":"POST","requestID":"8e7e77c4fbf106c65fa32734776f8ecd","responseTime":570,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bf6a6c80-2428-11f0-a0e6-516e7b85a777"} gateway-1 | {"time_local":"28/Apr/2025:12:03:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.608","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} device-1 | {"level":"info","message":"POST /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/signaling 200 44ms","method":"POST","requestID":"bf6a6c80-2428-11f0-a0e6-516e7b85a777","responseTime":44,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bf6b2fd0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/signaling 200 45ms","method":"POST","requestID":"bf6b2fd0-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw","level":"info","message":"auth send jwt","requestID":"47294494215f296a35bbb436674659c9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"47294494215f296a35bbb436674659c9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"47294494215f296a35bbb436674659c9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bf72d0f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997931,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"47294494215f296a35bbb436674659c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841787,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"47294494215f296a35bbb436674659c9","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.271091,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"309ab9c8-370e-49b6-98a4-9a1190dd1654","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.7797165} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf72d0f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bf72d0f0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:03.651702217Z"}]},"request_id":"eb7fed19-1a09-42cf-a450-3c1c5de0b460","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.8102198} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bf72d0f0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/signaling 200 36ms","method":"POST","requestID":"bf72d0f0-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"47294494215f296a35bbb436674659c9","responseTime":29,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Building connection plan","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"3609f7d0-9c10-4eb1-96df-3a15680a8480"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"7a4be7a1-9450-4a55-853e-c36e0a19293c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5108376a-99d7-417d-ab53-2ba008c75f07"}]},"level":"info","message":"Built pairwise service configurations","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"47294494215f296a35bbb436674659c9"} gateway-1 | {"time_local":"28/Apr/2025:12:03:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47294494215f296a35bbb436674659c9"} device-1 | {"level":"info","message":"GET /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576? 200 43ms","method":"GET","requestID":"47294494215f296a35bbb436674659c9","responseTime":43,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw","level":"info","message":"auth send jwt","requestID":"e752c3a2835f577e1540bf0baddf1f16"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"bf79aec0-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e752c3a2835f577e1540bf0baddf1f16","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e752c3a2835f577e1540bf0baddf1f16"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.611119,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf79aec0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841787,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bf79aec0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.552963,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e752c3a2835f577e1540bf0baddf1f16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841787,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4N30.fNADRvaQZnJQLaY1hAt7gtKiugQPZojVMY5STFl-2cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e752c3a2835f577e1540bf0baddf1f16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:03.833714569Z"}]},"request_id":"5ad5b9b8-88ec-4f21-a87d-20673ff907cf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.832104} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e752c3a2835f577e1540bf0baddf1f16","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e752c3a2835f577e1540bf0baddf1f16"} gateway-1 | {"time_local":"28/Apr/2025:12:03:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c? 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":"e752c3a2835f577e1540bf0baddf1f16"} device-1 | {"level":"info","message":"GET /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c? 200 42ms","method":"GET","requestID":"e752c3a2835f577e1540bf0baddf1f16","responseTime":42,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"0b615dc6-9e68-4ab5-ae4b-cba6e3b0e99d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.9135258} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51c9487f-2cb9-490e-a889-ef5015477830","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841787.913701} authorization-1 | {"level":"info","message":"POST /relations/update 200 55ms","method":"POST","requestID":"bf79aec0-2428-11f0-a0e6-516e7b85a777","responseTime":55,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"bf79aec0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"bf79aec0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae'","requestID":"bf79aec0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae'","requestID":"bf79aec0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"bf79aec0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 135ms","method":"POST","requestID":"bf79aec0-2428-11f0-a0e6-516e7b85a777","responseTime":135,"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":"bf79aec0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae","device":"7a2c1c7a-5ff9-41ce-a191-293d8e21d576","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae","device":"7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"8e7e77c4fbf106c65fa32734776f8ecd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bf976ff0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb0ec49c-b316-405a-9685-eb33c72a2dba","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.020169} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.684818,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf976ff0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","object_type":"device","rebac_allow":false,"scope_allow":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":"bf976ff0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bf976ff0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/signaling 200 36ms","method":"POST","requestID":"bf976ff0-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bf9d6360-2428-11f0-a0e6-516e7b85a777"} device-1 | {"device":"7a2c1c7a-5ff9-41ce-a191-293d8e21d576","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} device-1 | {"content":{"canTrickle":true},"device":"7a2c1c7a-5ff9-41ce-a191-293d8e21d576","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf5fff15-87e7-4e67-ad7a-d7a684d6ba1a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.060317} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.903276,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} device-1 | {"device":"7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bf9d6360-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","object_type":"device","rebac_allow":false,"scope_allow":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":"bf9d6360-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bf9d6360-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/signaling 200 13ms","method":"POST","requestID":"bf9d6360-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7349222824376687787 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:Rli/\r\na=ice-pwd:PeIsdlHd3IgWMDFKbRGonqCw\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C2:F0:ED:72:5D:86:2B:ED:D7:21:2E:12:5A:D6:C2:4C:02:89:F3:39:CC:FB:73:51:C3:30:CF:4B:25:7E:A1:2A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 709372796743732724 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:qdGu\r\na=ice-pwd:sF1AwdMyojjF0YLqcRSyJ12g\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A0:44:AB:5B:CB:2D:41:F8:9A:D1:B3:26:F5:77:C0:31:5E:1C:F6:2B:44:5C:B0:72:CA:E0:97:18:85:46:36:D0\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"7a2c1c7a-5ff9-41ce-a191-293d8e21d576","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2975897789 1 udp 2113937151 fca1f21b-0b4d-4752-a5f0-8736634a42c5.local 40011 typ host generation 0 ufrag qdGu network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7a2c1c7a-5ff9-41ce-a191-293d8e21d576","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/7a2c1c7a-5ff9-41ce-a191-293d8e21d576'"} device-1 | {"content":{"candidate":"candidate:1890850517 1 udp 2113937151 4d540ee1-d9cc-460b-b82b-48e3eb4470b9.local 35235 typ host generation 0 ufrag Rli/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"7a2c1c7a-5ff9-41ce-a191-293d8e21d576","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/c2f750e1-6d50-42e3-9769-06129a2d78ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c2f750e1-6d50-42e3-9769-06129a2d78ae","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"7a2c1c7a-5ff9-41ce-a191-293d8e21d576","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"7a2c1c7a-5ff9-41ce-a191-293d8e21d576","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"7a2c1c7a-5ff9-41ce-a191-293d8e21d576","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e961839465b6e1d89efe3f89c337c040","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e961839465b6e1d89efe3f89c337c040","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/7a2c1c7a-5ff9-41ce-a191-293d8e21d576"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae"}}},"level":"info","message":"received a callback","requestID":"e961839465b6e1d89efe3f89c337c040"} device-1 | {"data":{"peerconnection":"c2f750e1-6d50-42e3-9769-06129a2d78ae","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"e961839465b6e1d89efe3f89c337c040","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"e961839465b6e1d89efe3f89c337c040"} device-1 | {"data":{"peerconnection":"c2f750e1-6d50-42e3-9769-06129a2d78ae","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/c2f750e1-6d50-42e3-9769-06129a2d78ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c2f750e1-6d50-42e3-9769-06129a2d78ae","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw","level":"info","message":"auth send jwt","requestID":"6276b079cacac6d37332fc1fa9414951"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6276b079cacac6d37332fc1fa9414951","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bb04644c7db35c00427405d0001f8034","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 | {"level":"info","message":"Handling GET request on endpoint /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","requestID":"6276b079cacac6d37332fc1fa9414951"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bb04644c7db35c00427405d0001f8034","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/7a2c1c7a-5ff9-41ce-a191-293d8e21d576"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae"}}},"level":"info","message":"received a callback","requestID":"bb04644c7db35c00427405d0001f8034"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.938688,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6276b079cacac6d37332fc1fa9414951","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841788,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6276b079cacac6d37332fc1fa9414951","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"bfc2c5b0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","requestID":"6276b079cacac6d37332fc1fa9414951"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} gateway-1 | {"time_local":"28/Apr/2025:12:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6276b079cacac6d37332fc1fa9414951"} experiment-1 | {"level":"info","message":"GET /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62 200 45ms","method":"GET","requestID":"6276b079cacac6d37332fc1fa9414951","responseTime":45,"status":200,"url":"/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc2f750e1-6d50-42e3-9769-06129a2d78ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68435030-5cdb-4e2f-afb9-e8738f7729c9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.3061543} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.466886,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bfc2c5b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae","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":"bfc2c5b0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"bfc2c5b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae 200 38ms","method":"GET","requestID":"bfc2c5b0-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"bb04644c7db35c00427405d0001f8034","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb04644c7db35c00427405d0001f8034"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bfd03330-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48c59933-9534-4938-a23d-5b2a2fd81611","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.3917758} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.34497,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bfd03330-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bfd03330-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bfd03330-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/signaling 200 10ms","method":"POST","requestID":"bfd03330-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bfd207f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a3f057d-4f96-4727-8e6e-fbe42a2869b9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.4045756} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.585035,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bfd207f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bfd207f0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bfd207f0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/signaling 200 35ms","method":"POST","requestID":"bfd207f0-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw","level":"info","message":"auth send jwt","requestID":"33251ad3d0e715e3b72e74695364db00"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"33251ad3d0e715e3b72e74695364db00","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","requestID":"33251ad3d0e715e3b72e74695364db00"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.069377,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"33251ad3d0e715e3b72e74695364db00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841788,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"33251ad3d0e715e3b72e74695364db00","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","requestID":"33251ad3d0e715e3b72e74695364db00"} gateway-1 | {"time_local":"28/Apr/2025:12:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33251ad3d0e715e3b72e74695364db00"} experiment-1 | {"level":"info","message":"GET /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62 200 12ms","method":"GET","requestID":"33251ad3d0e715e3b72e74695364db00","responseTime":12,"status":200,"url":"/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw","level":"info","message":"auth send jwt","requestID":"7c7c6540c9172f26e9099fd1d804ee42"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7c7c6540c9172f26e9099fd1d804ee42","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","requestID":"7c7c6540c9172f26e9099fd1d804ee42"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.978344,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7c7c6540c9172f26e9099fd1d804ee42","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841788,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7c7c6540c9172f26e9099fd1d804ee42","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Attempting to finish experiment","requestID":"7c7c6540c9172f26e9099fd1d804ee42"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bfe086e0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.704855,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bfe086e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841788,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bfe086e0-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae","device":"7a2c1c7a-5ff9-41ce-a191-293d8e21d576","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae","device":"7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","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/c2f750e1-6d50-42e3-9769-06129a2d78ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c2f750e1-6d50-42e3-9769-06129a2d78ae","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9ebce435197a4b4cbd4ed06d026049a3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9ebce435197a4b4cbd4ed06d026049a3","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae"}}},"level":"info","message":"received a callback","requestID":"9ebce435197a4b4cbd4ed06d026049a3"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d7fc79001b1a83c7f3df8ff37a58bd63","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d7fc79001b1a83c7f3df8ff37a58bd63","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/7a2c1c7a-5ff9-41ce-a191-293d8e21d576"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae"}}},"level":"info","message":"received a callback","requestID":"d7fc79001b1a83c7f3df8ff37a58bd63"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc2f750e1-6d50-42e3-9769-06129a2d78ae': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc2f750e1-6d50-42e3-9769-06129a2d78ae","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"6de8e695-d204-4fdd-97d6-c18cd3d2ad10","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.5457313} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"714ffb00-e9c6-4764-af66-4a0bae67c2e5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.5458922} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"bfe086e0-2428-11f0-a0e6-516e7b85a777","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"c2f750e1-6d50-42e3-9769-06129a2d78ae","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bfe086e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae 204 106ms","method":"DELETE","requestID":"bfe086e0-2428-11f0-a0e6-516e7b85a777","responseTime":106,"status":204,"url":"/peerconnections/c2f750e1-6d50-42e3-9769-06129a2d78ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"},"level":"info","message":"Successfully finished experiment","requestID":"7c7c6540c9172f26e9099fd1d804ee42"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bff7df70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a2c1c7a-5ff9-41ce-a191-293d8e21d576","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd966356-f619-4f49-8fa3-6e698e404195","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.6757295} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.934138,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bff7df70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"bff7df70-2428-11f0-a0e6-516e7b85a777","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bff7df70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/signaling 200 34ms","method":"POST","requestID":"bff7df70-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bffd84c0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F743b8f37-7bae-4291-aca6-c5720aa3db62': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F743b8f37-7bae-4291-aca6-c5720aa3db62","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"59eeffa3-e7ba-4ba6-8985-01836f460fb8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.6846952} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"daa3fd94-13a1-4fec-b478-07ac5c85801b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.6849835} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"7c7c6540c9172f26e9099fd1d804ee42","responseTime":44,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f094bd8e-b4a9-425e-998b-b24b37958483","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.6901457} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.723111,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bffd84c0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bffd84c0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bffd84c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/signaling 200 12ms","method":"POST","requestID":"bffd84c0-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62","requestID":"7c7c6540c9172f26e9099fd1d804ee42"} gateway-1 | {"time_local":"28/Apr/2025:12:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.341","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c7c6540c9172f26e9099fd1d804ee42"} experiment-1 | {"level":"info","message":"DELETE /experiments/743b8f37-7bae-4291-aca6-c5720aa3db62 204 340ms","method":"DELETE","requestID":"7c7c6540c9172f26e9099fd1d804ee42","responseTime":340,"status":204,"url":"/experiments/743b8f37-7bae-4291-aca6-c5720aa3db62"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 277ms","method":"POST","requestID":"9ebce435197a4b4cbd4ed06d026049a3","responseTime":277,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.284","http_referrer":"","http_user_agent":"node-fetch","requestID":"9ebce435197a4b4cbd4ed06d026049a3"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.282","http_referrer":"","http_user_agent":"node-fetch","requestID":"d7fc79001b1a83c7f3df8ff37a58bd63"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 278ms","method":"POST","requestID":"d7fc79001b1a83c7f3df8ff37a58bd63","responseTime":278,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:08 +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.813","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e4e0348760fa5b86b9b498ca289ef1fe"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7a2c1c7a-5ff9-41ce-a191-293d8e21d576' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw","level":"info","message":"auth send jwt","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0"} gateway-1 | {"time_local":"28/Apr/2025:12:03:08 +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.786","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"763ad504b154c628429f63d0de4a2a7e"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7df58ffe-2f6b-4c3b-b49d-baf80a7e686c' closed"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.901308,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841788,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ba82ae9e-dd89-4a34-99ed-2b0afe37b8d7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.8793945} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5935e315-064a-4492-9e8d-73b065b70d42","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.884377} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"a3f81aa0-82ac-4af6-a829-90f60513cbc7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.919286} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec29234a-7ac0-4779-899e-5308ff282c4f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.9195175} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:08.919275229Z"}]},"request_id":"446bdb1c-c675-4390-87aa-464afa60321f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841788.9244502} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0"} gateway-1 | {"time_local":"28/Apr/2025:12:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.103","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"a31c96553e2fc88e7a6b927e2cc9c4d0","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw","level":"info","message":"auth send jwt","requestID":"cf1f441b63fb5a531dbb02d95c118e5e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cf1f441b63fb5a531dbb02d95c118e5e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cf1f441b63fb5a531dbb02d95c118e5e"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.9206,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cf1f441b63fb5a531dbb02d95c118e5e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841788,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc4OH0.tyGNXW9uiKExCx8ODoaGkCvfnoVrkNx2TqH0OuXCwxw"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"cf1f441b63fb5a531dbb02d95c118e5e","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"50ee06c7-5fce-42c0-84a7-a9042dac5d24","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841789.009049} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"cf1f441b63fb5a531dbb02d95c118e5e","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbb9090a-2d92-483b-b3a2-5b43674774b2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841789.0138583} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"cf1f441b63fb5a531dbb02d95c118e5e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"405537df-d755-4c05-b8d6-163a28edfd07","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841789.0245376} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31a23b82-54d7-482b-897c-7890719b8d53","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841789.0248203} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"cf1f441b63fb5a531dbb02d95c118e5e","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:09.024517613Z"}]},"request_id":"0cefd3ab-ee9c-4f5f-a9f0-fd9cd5a4a867","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841789.0301743} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cf1f441b63fb5a531dbb02d95c118e5e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cf1f441b63fb5a531dbb02d95c118e5e"} gateway-1 | {"time_local":"28/Apr/2025:12:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf1f441b63fb5a531dbb02d95c118e5e"} device-1 | {"level":"info","message":"POST /devices? 201 125ms","method":"POST","requestID":"cf1f441b63fb5a531dbb02d95c118e5e","responseTime":125,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MH0.8ZA6goPFMryn4kI5cGjZ1ErgtxomukrpH3oIcUd23iE","level":"info","message":"auth send jwt","requestID":"109c2b916e145348073a475ebe40b76b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"109c2b916e145348073a475ebe40b76b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"109c2b916e145348073a475ebe40b76b"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:10Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786383,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"109c2b916e145348073a475ebe40b76b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841790,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MH0.8ZA6goPFMryn4kI5cGjZ1ErgtxomukrpH3oIcUd23iE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"109c2b916e145348073a475ebe40b76b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:09.024517613Z"}]},"request_id":"05f9fd1d-1cda-4961-aae1-bb549d1eec42","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841790.180537} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"109c2b916e145348073a475ebe40b76b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b3740de-654c-442a-bc58-df9cf1e9e4a5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841790.1862106} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"109c2b916e145348073a475ebe40b76b","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:09.024517613Z"}]},"request_id":"25f915e7-e194-4f47-8436-d72eaac54176","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841790.2233448} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"109c2b916e145348073a475ebe40b76b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"109c2b916e145348073a475ebe40b76b"} gateway-1 | {"time_local":"28/Apr/2025:12:03:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/333ee6c6-cea2-4589-8056-9028509d79bb HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.069","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"109c2b916e145348073a475ebe40b76b"} device-1 | {"level":"info","message":"PATCH /devices/333ee6c6-cea2-4589-8056-9028509d79bb 200 64ms","method":"PATCH","requestID":"109c2b916e145348073a475ebe40b76b","responseTime":64,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MH0.8ZA6goPFMryn4kI5cGjZ1ErgtxomukrpH3oIcUd23iE","level":"info","message":"auth send jwt","requestID":"a48a294ed5ffd3812918c34960bbdebb"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"a48a294ed5ffd3812918c34960bbdebb","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a48a294ed5ffd3812918c34960bbdebb"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:10Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.358551,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a48a294ed5ffd3812918c34960bbdebb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841790,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MH0.8ZA6goPFMryn4kI5cGjZ1ErgtxomukrpH3oIcUd23iE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a48a294ed5ffd3812918c34960bbdebb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a48a294ed5ffd3812918c34960bbdebb"} gateway-1 | {"time_local":"28/Apr/2025:12:03:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/333ee6c6-cea2-4589-8056-9028509d79bb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.082","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a48a294ed5ffd3812918c34960bbdebb"} device-1 | {"level":"info","message":"POST /devices/333ee6c6-cea2-4589-8056-9028509d79bb/websocket 200 54ms","method":"POST","requestID":"a48a294ed5ffd3812918c34960bbdebb","responseTime":54,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"778886f056492fd714f94044b15a2eb6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"778886f056492fd714f94044b15a2eb6","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c3156b5b-6df9-468b-9b43-c412ec96e213/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":"778886f056492fd714f94044b15a2eb6"} device-1 | {"level":"info","message":"OPTIONS /devices/c3156b5b-6df9-468b-9b43-c412ec96e213/websocket 200 0ms","method":"OPTIONS","requestID":"778886f056492fd714f94044b15a2eb6","responseTime":0,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ","level":"info","message":"auth send jwt","requestID":"45da337304688a91b32377469dbfaaab"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"45da337304688a91b32377469dbfaaab","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"45da337304688a91b32377469dbfaaab"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.87943,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"45da337304688a91b32377469dbfaaab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"45da337304688a91b32377469dbfaaab","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"45da337304688a91b32377469dbfaaab"} gateway-1 | {"time_local":"28/Apr/2025:12:03:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c3156b5b-6df9-468b-9b43-c412ec96e213/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":"45da337304688a91b32377469dbfaaab"} device-1 | {"level":"info","message":"POST /devices/c3156b5b-6df9-468b-9b43-c412ec96e213/websocket 200 43ms","method":"POST","requestID":"45da337304688a91b32377469dbfaaab","responseTime":43,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ","level":"info","message":"auth send jwt","requestID":"674f3caeb76096cc1ac4ab22afcd1a38"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"674f3caeb76096cc1ac4ab22afcd1a38","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"674f3caeb76096cc1ac4ab22afcd1a38"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.730065,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"674f3caeb76096cc1ac4ab22afcd1a38","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"674f3caeb76096cc1ac4ab22afcd1a38","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:08.919275229Z"}]},"request_id":"5acc16be-b608-446b-a497-da11af0ac733","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.5111988} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"674f3caeb76096cc1ac4ab22afcd1a38","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"674f3caeb76096cc1ac4ab22afcd1a38"} gateway-1 | {"time_local":"28/Apr/2025:12:03:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c3156b5b-6df9-468b-9b43-c412ec96e213? 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":"674f3caeb76096cc1ac4ab22afcd1a38"} device-1 | {"level":"info","message":"GET /devices/c3156b5b-6df9-468b-9b43-c412ec96e213? 200 37ms","method":"GET","requestID":"674f3caeb76096cc1ac4ab22afcd1a38","responseTime":37,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ","level":"info","message":"auth send jwt","requestID":"71a3b8cbb7fbaf3a5f73b51fc034c180"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"71a3b8cbb7fbaf3a5f73b51fc034c180","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"71a3b8cbb7fbaf3a5f73b51fc034c180"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712238,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"71a3b8cbb7fbaf3a5f73b51fc034c180","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"71a3b8cbb7fbaf3a5f73b51fc034c180","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:09.024517613Z"}]},"request_id":"2f38dc5d-d7b9-4317-aa6b-42aa2f0a2866","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.5282443} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"71a3b8cbb7fbaf3a5f73b51fc034c180","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"71a3b8cbb7fbaf3a5f73b51fc034c180"} gateway-1 | {"time_local":"28/Apr/2025:12:03:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/333ee6c6-cea2-4589-8056-9028509d79bb? 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":"71a3b8cbb7fbaf3a5f73b51fc034c180"} device-1 | {"level":"info","message":"GET /devices/333ee6c6-cea2-4589-8056-9028509d79bb? 200 36ms","method":"GET","requestID":"71a3b8cbb7fbaf3a5f73b51fc034c180","responseTime":36,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ","level":"info","message":"auth send jwt","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.980351,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8bf3a2c1d90720f3391c9dfbba2f251","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Attempting to run experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Attempting to book experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Successfully booked experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1be2080-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1c1f110-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657626,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1be2080-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c1be2080-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712971,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1c1f110-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c1c1f110-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:08.919275229Z"}]},"request_id":"cd0a3a41-5b79-433f-9c8f-d2834d7793e0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.6582556} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c1be2080-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:09.024517613Z"}]},"request_id":"559d833e-a2e8-41ce-9e82-bb20f8c250a7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.6592178} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c1c1f110-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1be2080-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/c3156b5b-6df9-468b-9b43-c412ec96e213? 200 40ms","method":"GET","requestID":"c1be2080-2428-11f0-a0e6-516e7b85a777","responseTime":40,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1c1f110-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/333ee6c6-cea2-4589-8056-9028509d79bb? 200 16ms","method":"GET","requestID":"c1c1f110-2428-11f0-a0e6-516e7b85a777","responseTime":16,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Setting up experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Successfully set up experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1d244c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1d292e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1d2b9f0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Successfully running experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936146,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1d244c0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c1d244c0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844321,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1d292e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c1d292e0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.082938,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"460674f3-7f6a-4f67-94b6-17b821e6723f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.7659533} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1d2b9f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","object_type":"device","rebac_allow":false,"scope_allow":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":"c1d2b9f0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1d2b9f0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/c3156b5b-6df9-468b-9b43-c412ec96e213/signaling 200 40ms","method":"POST","requestID":"c1d2b9f0-2428-11f0-a0e6-516e7b85a777","responseTime":40,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213/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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:09.024517613Z"}]},"request_id":"de019d53-6c93-4a22-ac14-9732841f85b5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.798413} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"c1d292e0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:08.919275229Z"}]},"request_id":"73a3cf57-4e7d-49cb-9192-bb4208d82a3f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.7997808} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c1d244c0-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1d949a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1d292e0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.885096,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} device-1 | {"level":"info","message":"GET /devices/333ee6c6-cea2-4589-8056-9028509d79bb? 200 51ms","method":"GET","requestID":"c1d292e0-2428-11f0-a0e6-516e7b85a777","responseTime":51,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d8745c7-1441-4d50-98c2-db96a101f10e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.8074756} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1d244c0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1d949a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","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/c3156b5b-6df9-468b-9b43-c412ec96e213? 200 54ms","method":"GET","requestID":"c1d244c0-2428-11f0-a0e6-516e7b85a777","responseTime":54,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213?"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c1d949a0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F085b2158-44c3-4534-bc46-464e8a381d1c#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F085b2158-44c3-4534-bc46-464e8a381d1c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"6344dd9b-f754-4ed3-9b7a-050764685cd5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.8090014} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0820c5b2-278c-4541-a271-397668a3f138","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.8097124} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","method":"POST","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251","responseTime":48,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1db1e60-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed71b034-cc96-47c8-8f5e-8d8d060441e3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.8194132} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.245306,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1d949a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/333ee6c6-cea2-4589-8056-9028509d79bb/signaling 200 39ms","method":"POST","requestID":"c1d949a0-2428-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1db1e60-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","object_type":"device","rebac_allow":false,"scope_allow":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":"c1db1e60-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1db1e60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/c3156b5b-6df9-468b-9b43-c412ec96e213/signaling 200 35ms","method":"POST","requestID":"c1db1e60-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 287ms","method":"POST","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251","responseTime":287,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.290","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1e0eac0-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ","level":"info","message":"auth send jwt","requestID":"148aaec7dcc9f214e36c40b72f81ce1f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"148aaec7dcc9f214e36c40b72f81ce1f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"148aaec7dcc9f214e36c40b72f81ce1f"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53794","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.936958,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85c93494-56a4-42e2-a5f9-0862b91fd3e1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.858446} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1e0eac0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","object_type":"device","rebac_allow":false,"scope_allow":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":"c1e0eac0-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.629926,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"148aaec7dcc9f214e36c40b72f81ce1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"148aaec7dcc9f214e36c40b72f81ce1f","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1e0eac0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/333ee6c6-cea2-4589-8056-9028509d79bb/signaling 200 37ms","method":"POST","requestID":"c1e0eac0-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Building connection plan","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"8d971c29-2c86-4eb9-a064-19081fedabde"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"80873875-29b0-425a-a947-58155630dc0c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"762f928d-2042-48a2-9f62-43db83a89e1f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:08.919275229Z"}]},"request_id":"e3a88444-1e56-4953-91f8-4b43fe381ce2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.8932316} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"148aaec7dcc9f214e36c40b72f81ce1f","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"148aaec7dcc9f214e36c40b72f81ce1f"} gateway-1 | {"time_local":"28/Apr/2025:12:03:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c3156b5b-6df9-468b-9b43-c412ec96e213? 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":"148aaec7dcc9f214e36c40b72f81ce1f"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.715134,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} device-1 | {"level":"info","message":"GET /devices/c3156b5b-6df9-468b-9b43-c412ec96e213? 200 41ms","method":"GET","requestID":"148aaec7dcc9f214e36c40b72f81ce1f","responseTime":41,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ","level":"info","message":"auth send jwt","requestID":"ee755b13df13f48c0e4ea998abb397e5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee755b13df13f48c0e4ea998abb397e5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ee755b13df13f48c0e4ea998abb397e5"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.614591,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ee755b13df13f48c0e4ea998abb397e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841791,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5MX0.P37r0ZAE1rfV0hQvIjm_oX1v9JimMj_zTXaYfvomlgQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ee755b13df13f48c0e4ea998abb397e5","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"4c7a1681-a369-459c-96c4-b7a5308f02cf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.907403} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cc126ff-1e37-4b7f-be10-618123d1a401","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.9076998} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:09.024517613Z"}]},"request_id":"f4bb65b7-9fa1-4289-a021-02a942dd640a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841791.9119887} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"ee755b13df13f48c0e4ea998abb397e5","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b'","requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b'","requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 59ms","method":"POST","requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777","responseTime":59,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ee755b13df13f48c0e4ea998abb397e5"} gateway-1 | {"time_local":"28/Apr/2025:12:03:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/333ee6c6-cea2-4589-8056-9028509d79bb? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee755b13df13f48c0e4ea998abb397e5"} device-1 | {"level":"info","message":"GET /devices/333ee6c6-cea2-4589-8056-9028509d79bb? 200 49ms","method":"GET","requestID":"ee755b13df13f48c0e4ea998abb397e5","responseTime":49,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c1e70540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b","device":"c3156b5b-6df9-468b-9b43-c412ec96e213","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/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e8bf3a2c1d90720f3391c9dfbba2f251"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1f7f530-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:12Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a19d9b06-3fd0-46eb-8774-29f15ed0ee3c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841792.033225} device-1 | {"device":"c3156b5b-6df9-468b-9b43-c412ec96e213","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c3156b5b-6df9-468b-9b43-c412ec96e213","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.72144,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1f7f530-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","object_type":"device","rebac_allow":false,"scope_allow":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":"c1f7f530-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1f7f530-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/c3156b5b-6df9-468b-9b43-c412ec96e213/signaling 200 39ms","method":"POST","requestID":"c1f7f530-2428-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1fe36c0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:12Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ef21a80-cb19-4915-8b11-db94fb6f1bd1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841792.0484073} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.332177,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1fe36c0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c1fe36c0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1fe36c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/333ee6c6-cea2-4589-8056-9028509d79bb/signaling 200 8ms","method":"POST","requestID":"c1fe36c0-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb/signaling"} device-1 | {"device":"333ee6c6-cea2-4589-8056-9028509d79bb","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":"e8d566ae-195d-4a3a-accc-5d64a46fb94b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 220967709631622676 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:gZ1e\r\na=ice-pwd:hMt0BMVh9aveB8yEAJhMxZ1S\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9D:ED:78:E9:E8:EC:FD:DC:01:B4:6C:58:9D:6C:26:6B:43:66:ED:3F:CD:22:A5:E9:B7:5F:98:E8:25:B5:2A:22\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"c3156b5b-6df9-468b-9b43-c412ec96e213","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3833093370 1 udp 2113937151 75a1471a-af8e-4066-bd0c-148606b96247.local 37447 typ host generation 0 ufrag gZ1e network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c3156b5b-6df9-468b-9b43-c412ec96e213","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"c3156b5b-6df9-468b-9b43-c412ec96e213","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e8d566ae-195d-4a3a-accc-5d64a46fb94b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c3156b5b-6df9-468b-9b43-c412ec96e213","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"333ee6c6-cea2-4589-8056-9028509d79bb","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":"333ee6c6-cea2-4589-8056-9028509d79bb","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":"333ee6c6-cea2-4589-8056-9028509d79bb","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":"c62643bbd729b41ed1adde0deb3846e6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c62643bbd729b41ed1adde0deb3846e6","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/c3156b5b-6df9-468b-9b43-c412ec96e213"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b"}}},"level":"info","message":"received a callback","requestID":"c62643bbd729b41ed1adde0deb3846e6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"c62643bbd729b41ed1adde0deb3846e6","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"c62643bbd729b41ed1adde0deb3846e6"} device-1 | {"data":{"peerconnection":"e8d566ae-195d-4a3a-accc-5d64a46fb94b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"333ee6c6-cea2-4589-8056-9028509d79bb","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":"c3156b5b-6df9-468b-9b43-c412ec96e213","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"333ee6c6-cea2-4589-8056-9028509d79bb","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":"c3156b5b-6df9-468b-9b43-c412ec96e213","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"e8d566ae-195d-4a3a-accc-5d64a46fb94b","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/e8d566ae-195d-4a3a-accc-5d64a46fb94b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e8d566ae-195d-4a3a-accc-5d64a46fb94b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ec9c56495d742b0ee3a8b66c5b0d37ab","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ec9c56495d742b0ee3a8b66c5b0d37ab","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/c3156b5b-6df9-468b-9b43-c412ec96e213"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b"}}},"level":"info","message":"received a callback","requestID":"ec9c56495d742b0ee3a8b66c5b0d37ab"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c33f9060-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe8d566ae-195d-4a3a-accc-5d64a46fb94b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2318bf99-a6a3-4aee-a4d3-ddb8dda1f1d1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.154831} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.313311,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c33f9060-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b","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":"c33f9060-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c33f9060-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b 200 9ms","method":"GET","requestID":"c33f9060-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 74ms","method":"POST","requestID":"ec9c56495d742b0ee3a8b66c5b0d37ab","responseTime":74,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec9c56495d742b0ee3a8b66c5b0d37ab"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3466e30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62e0d5c5-a81e-4813-813f-79181434e7d2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.1999981} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.490613,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c3466e30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c3466e30-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3466e30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/c3156b5b-6df9-468b-9b43-c412ec96e213/signaling 200 9ms","method":"POST","requestID":"c3466e30-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NH0.a_t3ZSyJlo7oeEwMEiuoBHJIARmTctoBDKuAD79wARQ","level":"info","message":"auth send jwt","requestID":"f6210718dc0d1f0d953ef167806df65f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c34842f0-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f6210718dc0d1f0d953ef167806df65f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/085b2158-44c3-4534-bc46-464e8a381d1c","requestID":"f6210718dc0d1f0d953ef167806df65f"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1cef187a-f25c-410c-81a8-2a908e7927c8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.2117138} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.442216,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c34842f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c34842f0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.745596,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:14Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c34842f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6210718dc0d1f0d953ef167806df65f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841794,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NH0.a_t3ZSyJlo7oeEwMEiuoBHJIARmTctoBDKuAD79wARQ"} device-1 | {"level":"info","message":"POST /devices/333ee6c6-cea2-4589-8056-9028509d79bb/signaling 200 34ms","method":"POST","requestID":"c34842f0-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f6210718dc0d1f0d953ef167806df65f","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/085b2158-44c3-4534-bc46-464e8a381d1c","requestID":"f6210718dc0d1f0d953ef167806df65f"} gateway-1 | {"time_local":"28/Apr/2025:12:03:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/085b2158-44c3-4534-bc46-464e8a381d1c HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6210718dc0d1f0d953ef167806df65f"} experiment-1 | {"level":"info","message":"GET /experiments/085b2158-44c3-4534-bc46-464e8a381d1c 200 39ms","method":"GET","requestID":"f6210718dc0d1f0d953ef167806df65f","responseTime":39,"status":200,"url":"/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NH0.a_t3ZSyJlo7oeEwMEiuoBHJIARmTctoBDKuAD79wARQ","level":"info","message":"auth send jwt","requestID":"e25abddac711dbdc878e4048866e3d80"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e25abddac711dbdc878e4048866e3d80","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/085b2158-44c3-4534-bc46-464e8a381d1c","requestID":"e25abddac711dbdc878e4048866e3d80"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.682302,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e25abddac711dbdc878e4048866e3d80","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841794,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NH0.a_t3ZSyJlo7oeEwMEiuoBHJIARmTctoBDKuAD79wARQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e25abddac711dbdc878e4048866e3d80","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Attempting to finish experiment","requestID":"e25abddac711dbdc878e4048866e3d80"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c350f580-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.619485,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c350f580-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841794,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NH0.a_t3ZSyJlo7oeEwMEiuoBHJIARmTctoBDKuAD79wARQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c350f580-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b","device":"c3156b5b-6df9-468b-9b43-c412ec96e213","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"333ee6c6-cea2-4589-8056-9028509d79bb","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":"333ee6c6-cea2-4589-8056-9028509d79bb","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":"333ee6c6-cea2-4589-8056-9028509d79bb","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/e8d566ae-195d-4a3a-accc-5d64a46fb94b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e8d566ae-195d-4a3a-accc-5d64a46fb94b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe8d566ae-195d-4a3a-accc-5d64a46fb94b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe8d566ae-195d-4a3a-accc-5d64a46fb94b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"a6adaa97-1d0c-4934-aa2a-749bcae80c68","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.3040447} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"19ae300c488a9c6274c40714fb8eb1f0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d61cfd4-c50d-43b4-9fe1-716535bf8836","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.3043425} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"19ae300c488a9c6274c40714fb8eb1f0","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"67c611acaee0b60047a31d35efa50b3d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"c350f580-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"67c611acaee0b60047a31d35efa50b3d","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/c3156b5b-6df9-468b-9b43-c412ec96e213"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b"}}},"level":"info","message":"received a callback","requestID":"19ae300c488a9c6274c40714fb8eb1f0"} 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/c3156b5b-6df9-468b-9b43-c412ec96e213"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b"}}},"level":"info","message":"received a callback","requestID":"67c611acaee0b60047a31d35efa50b3d"} device-1 | {"data":{"peerconnection":"e8d566ae-195d-4a3a-accc-5d64a46fb94b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c350f580-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b 204 89ms","method":"DELETE","requestID":"c350f580-2428-11f0-a0e6-516e7b85a777","responseTime":89,"status":204,"url":"/peerconnections/e8d566ae-195d-4a3a-accc-5d64a46fb94b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"},"level":"info","message":"Successfully finished experiment","requestID":"e25abddac711dbdc878e4048866e3d80"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3647d80-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3156b5b-6df9-468b-9b43-c412ec96e213","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9de5653-174f-4d98-af7c-e0c183c588d3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.396812} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.421563,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c3647d80-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c3647d80-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3647d80-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/c3156b5b-6df9-468b-9b43-c412ec96e213/signaling 200 9ms","method":"POST","requestID":"c3647d80-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/c3156b5b-6df9-468b-9b43-c412ec96e213/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3662b30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F085b2158-44c3-4534-bc46-464e8a381d1c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F085b2158-44c3-4534-bc46-464e8a381d1c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"7365c0bd-ff09-4f4b-8644-1e72fc7f539c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.4061303} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22683b56-73f3-4bfd-abeb-4cb727a2d83b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.4064705} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"e25abddac711dbdc878e4048866e3d80","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F333ee6c6-cea2-4589-8056-9028509d79bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20d7cc38-50a8-4a02-8c54-b1e5ee5c2472","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.4337852} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.599097,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c3662b30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb","object_type":"device","rebac_allow":false,"scope_allow":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":"c3662b30-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3662b30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/333ee6c6-cea2-4589-8056-9028509d79bb/signaling 200 36ms","method":"POST","requestID":"c3662b30-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/333ee6c6-cea2-4589-8056-9028509d79bb/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/085b2158-44c3-4534-bc46-464e8a381d1c","requestID":"e25abddac711dbdc878e4048866e3d80"} gateway-1 | {"time_local":"28/Apr/2025:12:03:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/085b2158-44c3-4534-bc46-464e8a381d1c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.253","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e25abddac711dbdc878e4048866e3d80"} gateway-1 | {"time_local":"28/Apr/2025:12:03:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2289","request_time":"4.214","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e05e7d2d876d25b1f2203b9d81dba22c"} experiment-1 | {"level":"info","message":"DELETE /experiments/085b2158-44c3-4534-bc46-464e8a381d1c 204 276ms","method":"DELETE","requestID":"e25abddac711dbdc878e4048866e3d80","responseTime":276,"status":204,"url":"/experiments/085b2158-44c3-4534-bc46-464e8a381d1c"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/333ee6c6-cea2-4589-8056-9028509d79bb' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 226ms","method":"POST","requestID":"19ae300c488a9c6274c40714fb8eb1f0","responseTime":226,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.230","http_referrer":"","http_user_agent":"node-fetch","requestID":"19ae300c488a9c6274c40714fb8eb1f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 225ms","method":"POST","requestID":"67c611acaee0b60047a31d35efa50b3d","responseTime":225,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.230","http_referrer":"","http_user_agent":"node-fetch","requestID":"67c611acaee0b60047a31d35efa50b3d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NH0.a_t3ZSyJlo7oeEwMEiuoBHJIARmTctoBDKuAD79wARQ","level":"info","message":"auth send jwt","requestID":"5131b10189e7b4b9db421cd62a1837e9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5131b10189e7b4b9db421cd62a1837e9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5131b10189e7b4b9db421cd62a1837e9"} gateway-1 | {"time_local":"28/Apr/2025:12:03:14 +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.070","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6974efb628676483035587bd43703882"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.952407,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:14Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c3156b5b-6df9-468b-9b43-c412ec96e213' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5131b10189e7b4b9db421cd62a1837e9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841794,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NH0.a_t3ZSyJlo7oeEwMEiuoBHJIARmTctoBDKuAD79wARQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5131b10189e7b4b9db421cd62a1837e9","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6b704790-49db-4d1f-8ab2-01b0628091b3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.5801115} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5131b10189e7b4b9db421cd62a1837e9","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4c74131-1b97-401a-8103-d2a9ae6e4185","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.5862546} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5131b10189e7b4b9db421cd62a1837e9","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"29afa53d-92e7-4c6e-9cc8-8eb4c05c7015","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.5965996} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19e9c3b8-3bf2-4caa-8e9d-bf2e33ae6d42","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.5968947} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"5131b10189e7b4b9db421cd62a1837e9","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.596570085Z"}]},"request_id":"fd9ee636-7683-4efd-90d5-64f1bf46e462","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.6298563} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"5131b10189e7b4b9db421cd62a1837e9","responseTime":32,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5131b10189e7b4b9db421cd62a1837e9"} gateway-1 | {"time_local":"28/Apr/2025:12:03:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5131b10189e7b4b9db421cd62a1837e9"} device-1 | {"level":"info","message":"POST /devices? 201 96ms","method":"POST","requestID":"5131b10189e7b4b9db421cd62a1837e9","responseTime":96,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NH0.a_t3ZSyJlo7oeEwMEiuoBHJIARmTctoBDKuAD79wARQ","level":"info","message":"auth send jwt","requestID":"dd04f6dd368737874afb6da90496c294"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd04f6dd368737874afb6da90496c294","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"dd04f6dd368737874afb6da90496c294"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.880013,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dd04f6dd368737874afb6da90496c294","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841794,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NH0.a_t3ZSyJlo7oeEwMEiuoBHJIARmTctoBDKuAD79wARQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dd04f6dd368737874afb6da90496c294","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4954d8bd-bf07-46a6-ba1c-c01e3c3f8997","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.6844459} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd04f6dd368737874afb6da90496c294","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f9b77e0-2ad6-4be2-9879-79ebec2c7938","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.6900845} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"dd04f6dd368737874afb6da90496c294","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"90f3a77b-01ca-465c-b2b9-f79c6522d427","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.725957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4604f49f-7952-4d30-8034-f7a60e592929","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.7261431} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"dd04f6dd368737874afb6da90496c294","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.725944914Z"}]},"request_id":"6bc10c5c-2b39-4e77-a48b-5b002d414793","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841794.7313623} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd04f6dd368737874afb6da90496c294","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dd04f6dd368737874afb6da90496c294"} gateway-1 | {"time_local":"28/Apr/2025:12:03:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd04f6dd368737874afb6da90496c294"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"dd04f6dd368737874afb6da90496c294","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NX0.y2jbYhfrkdFNnniRnZ3ClSUUqttu5Ybd0RBImxCWkos","level":"info","message":"auth send jwt","requestID":"a7daf532bfcf883420ba8ad98d4fbb5d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a7daf532bfcf883420ba8ad98d4fbb5d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a7daf532bfcf883420ba8ad98d4fbb5d"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677802,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a7daf532bfcf883420ba8ad98d4fbb5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841795,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NX0.y2jbYhfrkdFNnniRnZ3ClSUUqttu5Ybd0RBImxCWkos"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a7daf532bfcf883420ba8ad98d4fbb5d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.596570085Z"}]},"request_id":"b8eabfea-a08f-411e-bfab-b444e986bf19","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841795.7957933} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7daf532bfcf883420ba8ad98d4fbb5d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fae3491-067c-4609-b4b8-5bb2abcf50d4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841795.8250532} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"a7daf532bfcf883420ba8ad98d4fbb5d","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.596570085Z"}]},"request_id":"514fc76a-9f36-4571-8f5e-da7c17f42db3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841795.8391433} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7daf532bfcf883420ba8ad98d4fbb5d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a7daf532bfcf883420ba8ad98d4fbb5d"} device-1 | {"level":"info","message":"PATCH /devices/0df05e59-8d6d-4235-9004-9a42649810d7 200 54ms","method":"PATCH","requestID":"a7daf532bfcf883420ba8ad98d4fbb5d","responseTime":54,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7"} gateway-1 | {"time_local":"28/Apr/2025:12:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0df05e59-8d6d-4235-9004-9a42649810d7 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a7daf532bfcf883420ba8ad98d4fbb5d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NX0.y2jbYhfrkdFNnniRnZ3ClSUUqttu5Ybd0RBImxCWkos","level":"info","message":"auth send jwt","requestID":"6b430a598782c996605ee0d5e0a4cbb4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6b430a598782c996605ee0d5e0a4cbb4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6b430a598782c996605ee0d5e0a4cbb4"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.853067,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6b430a598782c996605ee0d5e0a4cbb4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841795,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5NX0.y2jbYhfrkdFNnniRnZ3ClSUUqttu5Ybd0RBImxCWkos"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"6b430a598782c996605ee0d5e0a4cbb4","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6b430a598782c996605ee0d5e0a4cbb4"} gateway-1 | {"time_local":"28/Apr/2025:12:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0df05e59-8d6d-4235-9004-9a42649810d7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6b430a598782c996605ee0d5e0a4cbb4"} device-1 | {"level":"info","message":"POST /devices/0df05e59-8d6d-4235-9004-9a42649810d7/websocket 200 39ms","method":"POST","requestID":"6b430a598782c996605ee0d5e0a4cbb4","responseTime":39,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"29a032ac3533b04811e8a0572ef8e686","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"29a032ac3533b04811e8a0572ef8e686","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/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":"29a032ac3533b04811e8a0572ef8e686"} device-1 | {"level":"info","message":"OPTIONS /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/websocket 200 1ms","method":"OPTIONS","requestID":"29a032ac3533b04811e8a0572ef8e686","responseTime":1,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M","level":"info","message":"auth send jwt","requestID":"cde821c55b8605fb7d659f511087905a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cde821c55b8605fb7d659f511087905a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cde821c55b8605fb7d659f511087905a"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642967,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cde821c55b8605fb7d659f511087905a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cde821c55b8605fb7d659f511087905a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cde821c55b8605fb7d659f511087905a"} device-1 | {"level":"info","message":"POST /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/websocket 200 44ms","method":"POST","requestID":"cde821c55b8605fb7d659f511087905a","responseTime":44,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/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":"cde821c55b8605fb7d659f511087905a"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M","level":"info","message":"auth send jwt","requestID":"698ce63a3cb840adeb70cb9a9b379546"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"698ce63a3cb840adeb70cb9a9b379546","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"698ce63a3cb840adeb70cb9a9b379546"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921149,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"698ce63a3cb840adeb70cb9a9b379546","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"698ce63a3cb840adeb70cb9a9b379546","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.596570085Z"}]},"request_id":"07e6c00d-67a0-4da0-a35a-c2849a8557fd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.1758978} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"698ce63a3cb840adeb70cb9a9b379546","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"698ce63a3cb840adeb70cb9a9b379546"} gateway-1 | {"time_local":"28/Apr/2025:12:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0df05e59-8d6d-4235-9004-9a42649810d7? 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":"698ce63a3cb840adeb70cb9a9b379546"} device-1 | {"level":"info","message":"GET /devices/0df05e59-8d6d-4235-9004-9a42649810d7? 200 35ms","method":"GET","requestID":"698ce63a3cb840adeb70cb9a9b379546","responseTime":35,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M","level":"info","message":"auth send jwt","requestID":"4eecb642e62866539bc466f04e30e0c3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4eecb642e62866539bc466f04e30e0c3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4eecb642e62866539bc466f04e30e0c3"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664984,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4eecb642e62866539bc466f04e30e0c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4eecb642e62866539bc466f04e30e0c3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.725944914Z"}]},"request_id":"5904f5a6-f00d-4d97-a716-742d1a0132a4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.2168338} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"4eecb642e62866539bc466f04e30e0c3","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4eecb642e62866539bc466f04e30e0c3"} gateway-1 | {"time_local":"28/Apr/2025:12:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908? 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":"4eecb642e62866539bc466f04e30e0c3"} device-1 | {"level":"info","message":"GET /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908? 200 36ms","method":"GET","requestID":"4eecb642e62866539bc466f04e30e0c3","responseTime":36,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M","level":"info","message":"auth send jwt","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"37556d8b60781b2cc3525f6f8a7b8e13","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.665088,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"37556d8b60781b2cc3525f6f8a7b8e13","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"37556d8b60781b2cc3525f6f8a7b8e13","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Attempting to run experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Attempting to book experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Successfully booked experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c51e1460-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c51e3b70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656649,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c51e1460-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c51e1460-2428-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172481,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c51e3b70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c51e3b70-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.596570085Z"}]},"request_id":"377dc6dd-dc75-4fab-b91c-52f9c83dba70","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.3190024} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c51e1460-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.725944914Z"}]},"request_id":"fbb609f0-c84f-4d46-877b-afe71d3fe35a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.3227355} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c51e3b70-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c51e1460-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/0df05e59-8d6d-4235-9004-9a42649810d7? 200 40ms","method":"GET","requestID":"c51e1460-2428-11f0-a0e6-516e7b85a777","responseTime":40,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c51e3b70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908? 200 40ms","method":"GET","requestID":"c51e3b70-2428-11f0-a0e6-516e7b85a777","responseTime":40,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Setting up experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Successfully locked booking for experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Attempting to update booking for experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Successfully updated booking for experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Successfully set up experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5337120-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5339830-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c533e650-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947978,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Successfully running experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c5337120-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c5337120-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766636,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c5339830-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"c5339830-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3955dc0c-9bf1-4e78-b4c3-e545617bb381","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.4604168} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.725944914Z"}]},"request_id":"fc3c8faa-f7e4-4c8c-9c2b-97a6b9a816d1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.4622545} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.778954,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c533e650-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","rebac_allow":false,"scope_allow":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":"c533e650-2428-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c5339830-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.596570085Z"}]},"request_id":"f74c7421-0a43-4643-b324-a677439b8b2a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.4635532} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c5337120-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c533e650-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/0df05e59-8d6d-4235-9004-9a42649810d7/signaling 200 40ms","method":"POST","requestID":"c533e650-2428-11f0-a0e6-516e7b85a777","responseTime":40,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5339830-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908? 200 43ms","method":"GET","requestID":"c5339830-2428-11f0-a0e6-516e7b85a777","responseTime":43,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5337120-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/0df05e59-8d6d-4235-9004-9a42649810d7? 200 45ms","method":"GET","requestID":"c5337120-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"40ad730e-9e33-4085-bd0a-3f731f4d7e7c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.4713728} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26cd541b-8693-471a-ba1f-449105d246c8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.4716713} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c53a7600-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"37556d8b60781b2cc3525f6f8a7b8e13","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c53aeb30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"beef4747-9bee-4fd1-8ab8-015a45988d11","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.4798887} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.977171,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c53a7600-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","object_type":"device","rebac_allow":false,"scope_allow":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":"c53a7600-2428-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 281ms","method":"POST","requestID":"37556d8b60781b2cc3525f6f8a7b8e13","responseTime":281,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.285","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9805afce-7a0c-40ce-8d81-31e546d7faea","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.506002} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.540065,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c53aeb30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","rebac_allow":false,"scope_allow":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":"c53aeb30-2428-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c53a7600-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/signaling 200 39ms","method":"POST","requestID":"c53a7600-2428-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M","level":"info","message":"auth send jwt","requestID":"4bbc0626ff4e4337aa72a8a2963bbfcd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4bbc0626ff4e4337aa72a8a2963bbfcd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c53aeb30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/0df05e59-8d6d-4235-9004-9a42649810d7/signaling 200 38ms","method":"POST","requestID":"c53aeb30-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4bbc0626ff4e4337aa72a8a2963bbfcd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c54105b0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634796,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4bbc0626ff4e4337aa72a8a2963bbfcd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4bbc0626ff4e4337aa72a8a2963bbfcd","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f10e4dfd-f945-4c6c-a73a-b7fcad223c78","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.5200887} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.457197,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c54105b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c54105b0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c54105b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/signaling 200 11ms","method":"POST","requestID":"c54105b0-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.596570085Z"}]},"request_id":"53517e3a-9344-4a18-bd3a-acd15408e914","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.5265794} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Building connection plan","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"983084e6-42f1-4caa-8a44-e7bac298c267"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"51a46d32-78fd-4d64-b5e9-8774bfec233e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"698c990d-1c37-4c05-b513-d41ec049f37b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4bbc0626ff4e4337aa72a8a2963bbfcd","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c546f920-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4bbc0626ff4e4337aa72a8a2963bbfcd"} gateway-1 | {"time_local":"28/Apr/2025:12:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0df05e59-8d6d-4235-9004-9a42649810d7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4bbc0626ff4e4337aa72a8a2963bbfcd"} device-1 | {"level":"info","message":"GET /devices/0df05e59-8d6d-4235-9004-9a42649810d7? 200 43ms","method":"GET","requestID":"4bbc0626ff4e4337aa72a8a2963bbfcd","responseTime":43,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7?"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.787023,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c546f920-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c546f920-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M","level":"info","message":"auth send jwt","requestID":"96b36833faa8cfb2fae2a2386164a31a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"96b36833faa8cfb2fae2a2386164a31a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"96b36833faa8cfb2fae2a2386164a31a"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905512,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"96b36833faa8cfb2fae2a2386164a31a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841797,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5N30.wycrz2yXbLjAvaumapFMKI4ZIbj5M4O9n7PfGWIc4_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"96b36833faa8cfb2fae2a2386164a31a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e29f5c0-2af7-4280-a140-235cda5d67ab","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.5758328} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"d95abba1-e4de-438e-8398-ade4ea0dd001","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.576128} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"c546f920-2428-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:14.725944914Z"}]},"request_id":"e6dfac58-7f1c-4aea-9c5c-e925bc433443","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.6044633} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"96b36833faa8cfb2fae2a2386164a31a","responseTime":31,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"96b36833faa8cfb2fae2a2386164a31a"} gateway-1 | {"time_local":"28/Apr/2025:12:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908? 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":"96b36833faa8cfb2fae2a2386164a31a"} device-1 | {"level":"info","message":"GET /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908? 200 46ms","method":"GET","requestID":"96b36833faa8cfb2fae2a2386164a31a","responseTime":46,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c546f920-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c546f920-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10'","requestID":"c546f920-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10'","requestID":"c546f920-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c546f920-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 108ms","method":"POST","requestID":"c546f920-2428-11f0-a0e6-516e7b85a777","responseTime":108,"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":"c546f920-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10","device":"b2391ce6-a761-4e7e-a15f-0b174c0f0908","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"37556d8b60781b2cc3525f6f8a7b8e13"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5602670-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} device-1 | {"device":"b2391ce6-a761-4e7e-a15f-0b174c0f0908","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b2391ce6-a761-4e7e-a15f-0b174c0f0908","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38047d1a-5a74-480b-a56e-0dcbe279a4b8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.7487428} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.95777,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c5602670-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","rebac_allow":false,"scope_allow":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":"c5602670-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 7517103207594010640 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:NVt3\r\na=ice-pwd:2BzIVXN7652IDcfFm+ggNBTW\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B5:E4:6C:C7:B7:1D:E2:32:F9:BE:C4:DF:B3:44:F6:0E:3D:A2:17:F4:CF:74:89:B3:81:33:B2:49:A3:40:62:F1\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b2391ce6-a761-4e7e-a15f-0b174c0f0908","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5602670-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/0df05e59-8d6d-4235-9004-9a42649810d7/signaling 200 37ms","method":"POST","requestID":"c5602670-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c56619e0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20972077-9ccd-4547-a0b9-edf102c58c13","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841797.763701} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.570045,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c56619e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c56619e0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c56619e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/signaling 200 10ms","method":"POST","requestID":"c56619e0-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/signaling"} device-1 | {"device":"b2391ce6-a761-4e7e-a15f-0b174c0f0908","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"0df05e59-8d6d-4235-9004-9a42649810d7","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":"c9f285ee-e335-437a-a52c-f4ff2b304f10","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0df05e59-8d6d-4235-9004-9a42649810d7","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":"0df05e59-8d6d-4235-9004-9a42649810d7","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":"0df05e59-8d6d-4235-9004-9a42649810d7","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":"0df05e59-8d6d-4235-9004-9a42649810d7","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/c9f285ee-e335-437a-a52c-f4ff2b304f10' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c9f285ee-e335-437a-a52c-f4ff2b304f10","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d74df4b37513fe2b9f9b0b91d265b9bc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d74df4b37513fe2b9f9b0b91d265b9bc","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/0df05e59-8d6d-4235-9004-9a42649810d7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10"}}},"level":"info","message":"received a callback","requestID":"d74df4b37513fe2b9f9b0b91d265b9bc"} device-1 | {"content":{"candidate":"candidate:2085598935 1 udp 2113937151 d7dbb9ab-091b-4ad8-9904-117b5ba55773.local 33980 typ host generation 0 ufrag NVt3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b2391ce6-a761-4e7e-a15f-0b174c0f0908","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b2391ce6-a761-4e7e-a15f-0b174c0f0908","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":"d74df4b37513fe2b9f9b0b91d265b9bc","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"d74df4b37513fe2b9f9b0b91d265b9bc"} device-1 | {"device":"0df05e59-8d6d-4235-9004-9a42649810d7","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":"b2391ce6-a761-4e7e-a15f-0b174c0f0908","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0df05e59-8d6d-4235-9004-9a42649810d7","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":"c9f285ee-e335-437a-a52c-f4ff2b304f10","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c9f285ee-e335-437a-a52c-f4ff2b304f10","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/c9f285ee-e335-437a-a52c-f4ff2b304f10' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c9f285ee-e335-437a-a52c-f4ff2b304f10","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2a603d96c62a5e8b518221e1cfe1ea3e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2a603d96c62a5e8b518221e1cfe1ea3e","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/0df05e59-8d6d-4235-9004-9a42649810d7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10"}}},"level":"info","message":"received a callback","requestID":"2a603d96c62a5e8b518221e1cfe1ea3e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c6a1a720-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc9f285ee-e335-437a-a52c-f4ff2b304f10","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3cdabe3-a845-4fa5-9770-4bee2f011e62","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841799.8314104} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.675673,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c6a1a720-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10","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":"c6a1a720-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c6a1a720-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10 200 36ms","method":"GET","requestID":"c6a1a720-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5OX0.vmUhxmKKjnn2uDJHJS4X6q0JuoiUj3eYTDLnlyVSraA","level":"info","message":"auth send jwt","requestID":"29f7672682033f3f1faa83ebd408bf6d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29f7672682033f3f1faa83ebd408bf6d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","requestID":"29f7672682033f3f1faa83ebd408bf6d"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.643969,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:19Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 58ms","method":"POST","requestID":"2a603d96c62a5e8b518221e1cfe1ea3e","responseTime":58,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch","requestID":"2a603d96c62a5e8b518221e1cfe1ea3e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"29f7672682033f3f1faa83ebd408bf6d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841799,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5OX0.vmUhxmKKjnn2uDJHJS4X6q0JuoiUj3eYTDLnlyVSraA"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6adb510-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"29f7672682033f3f1faa83ebd408bf6d","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"debdf31a-4645-4f9a-a75b-81c936a81c65","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841799.9092119} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.449946,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c6adb510-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c6adb510-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","requestID":"29f7672682033f3f1faa83ebd408bf6d"} gateway-1 | {"time_local":"28/Apr/2025:12:03:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29f7672682033f3f1faa83ebd408bf6d"} experiment-1 | {"level":"info","message":"GET /experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6 200 39ms","method":"GET","requestID":"29f7672682033f3f1faa83ebd408bf6d","responseTime":39,"status":200,"url":"/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6adb510-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/0df05e59-8d6d-4235-9004-9a42649810d7/signaling 200 9ms","method":"POST","requestID":"c6adb510-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6af89d0-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5OX0.vmUhxmKKjnn2uDJHJS4X6q0JuoiUj3eYTDLnlyVSraA","level":"info","message":"auth send jwt","requestID":"80267c622dd4352d086799d2ea2d1cc3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"80267c622dd4352d086799d2ea2d1cc3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","requestID":"80267c622dd4352d086799d2ea2d1cc3"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8561f5d-ca50-47d0-bdec-4faff35465aa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841799.9216776} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.410392,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.725581,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c6af89d0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c6af89d0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"80267c622dd4352d086799d2ea2d1cc3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841799,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5OX0.vmUhxmKKjnn2uDJHJS4X6q0JuoiUj3eYTDLnlyVSraA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"80267c622dd4352d086799d2ea2d1cc3","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6af89d0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/signaling 200 9ms","method":"POST","requestID":"c6af89d0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Attempting to finish experiment","requestID":"80267c622dd4352d086799d2ea2d1cc3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c6b57d40-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.259721,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c6b57d40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841799,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTc5OX0.vmUhxmKKjnn2uDJHJS4X6q0JuoiUj3eYTDLnlyVSraA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c6b57d40-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10","device":"b2391ce6-a761-4e7e-a15f-0b174c0f0908","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"0df05e59-8d6d-4235-9004-9a42649810d7","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":"0df05e59-8d6d-4235-9004-9a42649810d7","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":"0df05e59-8d6d-4235-9004-9a42649810d7","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/c9f285ee-e335-437a-a52c-f4ff2b304f10' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c9f285ee-e335-437a-a52c-f4ff2b304f10","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"799d603f43330489657c50371e16f112","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"799d603f43330489657c50371e16f112","responseTime":25,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc9f285ee-e335-437a-a52c-f4ff2b304f10': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc9f285ee-e335-437a-a52c-f4ff2b304f10","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"a6a8fdfb-1741-4e00-91d7-a83bbb9438ea","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.0020406} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d6e2e780f302d1d7ef5e39abb9790721","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10"}}},"level":"info","message":"received a callback","requestID":"799d603f43330489657c50371e16f112"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af18647a-4d62-43bc-8144-2883c82fda0f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.002517} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d6e2e780f302d1d7ef5e39abb9790721","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"c6b57d40-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10"}}},"level":"info","message":"received a callback","requestID":"d6e2e780f302d1d7ef5e39abb9790721"} device-1 | {"data":{"peerconnection":"c9f285ee-e335-437a-a52c-f4ff2b304f10","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c6b57d40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10 204 108ms","method":"DELETE","requestID":"c6b57d40-2428-11f0-a0e6-516e7b85a777","responseTime":108,"status":204,"url":"/peerconnections/c9f285ee-e335-437a-a52c-f4ff2b304f10"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"},"level":"info","message":"Successfully finished experiment","requestID":"80267c622dd4352d086799d2ea2d1cc3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6cc87b0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:20Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0df05e59-8d6d-4235-9004-9a42649810d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"292dff47-5be7-4b62-9328-d94e8eda5eb1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.1119003} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.565345,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c6cc87b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c6cc87b0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6cc87b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/0df05e59-8d6d-4235-9004-9a42649810d7/signaling 200 9ms","method":"POST","requestID":"c6cc87b0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/0df05e59-8d6d-4235-9004-9a42649810d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6ce3560-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"750fb5b3-0389-4ef5-9916-ba0588340ce0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.1194339} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbfd963e-19ae-4cbd-b64a-c9100025bd50","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.1197433} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"80267c622dd4352d086799d2ea2d1cc3","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:20Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2391ce6-a761-4e7e-a15f-0b174c0f0908","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fd484f7-45af-4bea-8807-22036434d29e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.1496315} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.720914,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c6ce3560-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908","object_type":"device","rebac_allow":false,"scope_allow":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":"c6ce3560-2428-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6ce3560-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/signaling 200 36ms","method":"POST","requestID":"c6ce3560-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6","requestID":"80267c622dd4352d086799d2ea2d1cc3"} gateway-1 | {"time_local":"28/Apr/2025:12:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.328","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80267c622dd4352d086799d2ea2d1cc3"} experiment-1 | {"level":"info","message":"DELETE /experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6 204 326ms","method":"DELETE","requestID":"80267c622dd4352d086799d2ea2d1cc3","responseTime":326,"status":204,"url":"/experiments/a3dc9cf1-29c4-48cb-af1d-5dddc3a7cab6"} gateway-1 | {"time_local":"28/Apr/2025:12:03:20 +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.356","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0815dd3852e6375e658c6f14649bb5d6"} gateway-1 | {"time_local":"28/Apr/2025:12:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.273","http_referrer":"","http_user_agent":"node-fetch","requestID":"799d603f43330489657c50371e16f112"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 246ms","method":"POST","requestID":"799d603f43330489657c50371e16f112","responseTime":246,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0df05e59-8d6d-4235-9004-9a42649810d7' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 245ms","method":"POST","requestID":"d6e2e780f302d1d7ef5e39abb9790721","responseTime":245,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch","requestID":"d6e2e780f302d1d7ef5e39abb9790721"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMH0.kN3tMCrvz7_GCERlwPNGDxtTvvyJSXw9U4ZtwpK7tDw","level":"info","message":"auth send jwt","requestID":"03581f5ff6709132507a3832e88d1423"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"03581f5ff6709132507a3832e88d1423","responseTime":9,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03:20 +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.122","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"faefdd9373658677aea6f73288aab375"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b2391ce6-a761-4e7e-a15f-0b174c0f0908' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"03581f5ff6709132507a3832e88d1423"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.593584,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"03581f5ff6709132507a3832e88d1423","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841800,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMH0.kN3tMCrvz7_GCERlwPNGDxtTvvyJSXw9U4ZtwpK7tDw"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"03581f5ff6709132507a3832e88d1423","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2dc4c590-17bf-459e-8bd7-fe4b4024c878","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.341508} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"03581f5ff6709132507a3832e88d1423","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee91cd0c-71fd-4151-a936-23358d06e1d6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.347517} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"03581f5ff6709132507a3832e88d1423","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"f5c14082-8be3-46b7-9c13-8f9d67e5b5c2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.359957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7747b81e-9d48-44c3-8419-8934edbd0406","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.3602445} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"03581f5ff6709132507a3832e88d1423","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.359941534Z"}]},"request_id":"5bc65a11-7dd2-42d2-9b38-499b9f48f874","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.3894224} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"03581f5ff6709132507a3832e88d1423","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"03581f5ff6709132507a3832e88d1423"} gateway-1 | {"time_local":"28/Apr/2025:12:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03581f5ff6709132507a3832e88d1423"} device-1 | {"level":"info","message":"POST /devices? 201 131ms","method":"POST","requestID":"03581f5ff6709132507a3832e88d1423","responseTime":131,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMH0.kN3tMCrvz7_GCERlwPNGDxtTvvyJSXw9U4ZtwpK7tDw","level":"info","message":"auth send jwt","requestID":"87cda9e50c81a75268cd3b04ca14962f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87cda9e50c81a75268cd3b04ca14962f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"87cda9e50c81a75268cd3b04ca14962f"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.869089,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"87cda9e50c81a75268cd3b04ca14962f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841800,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMH0.kN3tMCrvz7_GCERlwPNGDxtTvvyJSXw9U4ZtwpK7tDw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87cda9e50c81a75268cd3b04ca14962f","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6c022964-8b0c-4439-a36a-a1f0dac986c5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.4437861} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87cda9e50c81a75268cd3b04ca14962f","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6acb8827-0d71-4015-87ed-4678a9d87e3b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.4498632} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"87cda9e50c81a75268cd3b04ca14962f","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"0e9ea9dd-e92a-49c3-b435-2a41cad74ae5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.4599931} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c74f9c2e-1e61-4f61-bdbc-558127cc9817","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.460361} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"87cda9e50c81a75268cd3b04ca14962f","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.459981208Z"}]},"request_id":"550c9bb9-bd52-4889-bae5-a2a65655e9a0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841800.4851527} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87cda9e50c81a75268cd3b04ca14962f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"87cda9e50c81a75268cd3b04ca14962f"} gateway-1 | {"time_local":"28/Apr/2025:12:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87cda9e50c81a75268cd3b04ca14962f"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"87cda9e50c81a75268cd3b04ca14962f","responseTime":90,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo","level":"info","message":"auth send jwt","requestID":"40285933783af23e770ec1ca61d531e0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"40285933783af23e770ec1ca61d531e0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"40285933783af23e770ec1ca61d531e0"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86796,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"40285933783af23e770ec1ca61d531e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"40285933783af23e770ec1ca61d531e0","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.459981208Z"}]},"request_id":"11447f0d-95a8-42a6-9abc-40d94506e5e6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.4587572} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"40285933783af23e770ec1ca61d531e0","responseTime":4,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo","level":"info","message":"auth send jwt","requestID":"2be3979a888622551e83070ed6d1451e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2be3979a888622551e83070ed6d1451e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2be3979a888622551e83070ed6d1451e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2ed0297-8d23-40ff-88c7-13e5f32cfc3d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.4652538} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"40285933783af23e770ec1ca61d531e0","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.885479,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"2be3979a888622551e83070ed6d1451e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"2be3979a888622551e83070ed6d1451e","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.459981208Z"}]},"request_id":"6c497533-78e7-4227-862f-2c728d0e7e9d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.5034888} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"40285933783af23e770ec1ca61d531e0","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.359941534Z"}]},"request_id":"da545554-a3e5-4a33-b1c7-8ab01659bc82","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.505293} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"40285933783af23e770ec1ca61d531e0"} gateway-1 | {"time_local":"28/Apr/2025:12:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5ed5bb29-917d-4758-bd61-3875eb82b509 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.065","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"40285933783af23e770ec1ca61d531e0"} device-1 | {"level":"info","message":"PATCH /devices/5ed5bb29-917d-4758-bd61-3875eb82b509 200 61ms","method":"PATCH","requestID":"40285933783af23e770ec1ca61d531e0","responseTime":61,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2be3979a888622551e83070ed6d1451e","responseTime":4,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo","level":"info","message":"auth send jwt","requestID":"84ca20ac420b7f032a4cf1053beca96f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"84ca20ac420b7f032a4cf1053beca96f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29b8f966-a530-4e6d-96c2-1a2843dfce2e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.5372195} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"84ca20ac420b7f032a4cf1053beca96f"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"2be3979a888622551e83070ed6d1451e","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652644,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"84ca20ac420b7f032a4cf1053beca96f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"84ca20ac420b7f032a4cf1053beca96f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.359941534Z"}]},"request_id":"9c8ce64a-4cba-4732-9ce0-ee6ee4343cb1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.5445807} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2be3979a888622551e83070ed6d1451e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2be3979a888622551e83070ed6d1451e"} gateway-1 | {"time_local":"28/Apr/2025:12:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.086","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2be3979a888622551e83070ed6d1451e"} device-1 | {"level":"info","message":"PATCH /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d 200 83ms","method":"PATCH","requestID":"2be3979a888622551e83070ed6d1451e","responseTime":83,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo","level":"info","message":"auth send jwt","requestID":"2634669812653161323e90f666e806fc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2634669812653161323e90f666e806fc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2634669812653161323e90f666e806fc"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"84ca20ac420b7f032a4cf1053beca96f"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705116,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} gateway-1 | {"time_local":"28/Apr/2025:12:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5ed5bb29-917d-4758-bd61-3875eb82b509/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"84ca20ac420b7f032a4cf1053beca96f"} device-1 | {"level":"info","message":"POST /devices/5ed5bb29-917d-4758-bd61-3875eb82b509/websocket 200 17ms","method":"POST","requestID":"84ca20ac420b7f032a4cf1053beca96f","responseTime":17,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509/websocket"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"2634669812653161323e90f666e806fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2634669812653161323e90f666e806fc","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2634669812653161323e90f666e806fc"} gateway-1 | {"time_local":"28/Apr/2025:12:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/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.18","requestID":"2634669812653161323e90f666e806fc"} device-1 | {"level":"info","message":"POST /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/websocket 200 43ms","method":"POST","requestID":"2634669812653161323e90f666e806fc","responseTime":43,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo","level":"info","message":"auth send jwt","requestID":"bc3aaa4696b2b9803f8070336e55e2c5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bc3aaa4696b2b9803f8070336e55e2c5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bc3aaa4696b2b9803f8070336e55e2c5"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713935,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bc3aaa4696b2b9803f8070336e55e2c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bc3aaa4696b2b9803f8070336e55e2c5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.359941534Z"}]},"request_id":"1ad04eaa-a5c4-4501-b889-8310a1b4af85","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.6121948} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"bc3aaa4696b2b9803f8070336e55e2c5","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bc3aaa4696b2b9803f8070336e55e2c5"} gateway-1 | {"time_local":"28/Apr/2025:12:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d? 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":"bc3aaa4696b2b9803f8070336e55e2c5"} device-1 | {"level":"info","message":"GET /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d? 200 36ms","method":"GET","requestID":"bc3aaa4696b2b9803f8070336e55e2c5","responseTime":36,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo","level":"info","message":"auth send jwt","requestID":"5053e0070a56ff113cb3b58963b29bee"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5053e0070a56ff113cb3b58963b29bee","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5053e0070a56ff113cb3b58963b29bee"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698774,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5053e0070a56ff113cb3b58963b29bee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5053e0070a56ff113cb3b58963b29bee","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.459981208Z"}]},"request_id":"4bc7e721-613f-41c6-94e1-08b20163d77e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.651543} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5053e0070a56ff113cb3b58963b29bee","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5053e0070a56ff113cb3b58963b29bee"} gateway-1 | {"time_local":"28/Apr/2025:12:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5ed5bb29-917d-4758-bd61-3875eb82b509? 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":"5053e0070a56ff113cb3b58963b29bee"} device-1 | {"level":"info","message":"GET /devices/5ed5bb29-917d-4758-bd61-3875eb82b509? 200 12ms","method":"GET","requestID":"5053e0070a56ff113cb3b58963b29bee","responseTime":12,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo","level":"info","message":"auth send jwt","requestID":"31bccf378505a1454f0c99f90e17d9da"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"31bccf378505a1454f0c99f90e17d9da","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"31bccf378505a1454f0c99f90e17d9da"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.776923,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"31bccf378505a1454f0c99f90e17d9da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"31bccf378505a1454f0c99f90e17d9da","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Attempting to run experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Attempting to book experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Successfully booked experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7c6ed40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7c71450-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.8813,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c7c6ed40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c7c6ed40-2428-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855749,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c7c71450-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c7c71450-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.359941534Z"}]},"request_id":"8695f5bc-831c-40c3-a090-525655c719a8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.7805545} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c7c6ed40-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.459981208Z"}]},"request_id":"5a29c1e9-087a-4fc1-a042-7f98e6cd75f6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.781601} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c7c71450-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7c6ed40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d? 200 37ms","method":"GET","requestID":"c7c6ed40-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7c71450-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/5ed5bb29-917d-4758-bd61-3875eb82b509? 200 37ms","method":"GET","requestID":"c7c71450-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Setting up experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Successfully locked booking for experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Attempting to update booking for experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Successfully updated booking for experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Successfully set up experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7d9d900-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7da2720-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7da4e30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.61099,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Successfully running experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c7d9d900-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c7d9d900-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.119801,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c7da2720-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c7da2720-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.459981208Z"}]},"request_id":"cecb4691-bea6-4807-9dc9-c8f4c0c78ad0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.8869474} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c7da2720-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.359941534Z"}]},"request_id":"1e23cfd4-84c0-4b41-89af-fcb58a0da95d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.8878953} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c7d9d900-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21cd1c8a-3a60-419b-bd2a-62763a30d055","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.8906338} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.564884,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7da2720-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c7da4e30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","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/5ed5bb29-917d-4758-bd61-3875eb82b509? 200 19ms","method":"GET","requestID":"c7da2720-2428-11f0-a0e6-516e7b85a777","responseTime":19,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509?"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"c7da4e30-2428-11f0-a0e6-516e7b85a777","responseTime":15,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7d9d900-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb2806187-211c-4bf9-b779-7bbfb054e962#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb2806187-211c-4bf9-b779-7bbfb054e962","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"a3e1251e-e147-472b-b1c7-fe32038f9d9f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.8919947} device-1 | {"level":"info","message":"GET /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d? 200 22ms","method":"GET","requestID":"c7d9d900-2428-11f0-a0e6-516e7b85a777","responseTime":22,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72b0ec4b-604f-4e38-9509-c616ca6ae176","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.8924284} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"31bccf378505a1454f0c99f90e17d9da","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7da4e30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/signaling 200 45ms","method":"POST","requestID":"c7da4e30-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7e15310-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7e1ef50-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"260046a1-59a3-415b-b019-9ffec7983a99","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.9263382} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.921435,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"31bccf378505a1454f0c99f90e17d9da"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c7e15310-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","object_type":"device","rebac_allow":false,"scope_allow":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":"c7e15310-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.248","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"level":"info","message":"POST /experiments? 201 244ms","method":"POST","requestID":"31bccf378505a1454f0c99f90e17d9da","responseTime":244,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98939b41-4ed4-4ca2-bf44-6f88550a5752","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.9308357} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.178149,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c7e1ef50-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c7e1ef50-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7e15310-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/signaling 200 13ms","method":"POST","requestID":"c7e15310-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo","level":"info","message":"auth send jwt","requestID":"83258ad134254feaa5caa7fe8fdf4891"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7e3c410-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"83258ad134254feaa5caa7fe8fdf4891","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83258ad134254feaa5caa7fe8fdf4891"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7e1ef50-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5ed5bb29-917d-4758-bd61-3875eb82b509/signaling 200 16ms","method":"POST","requestID":"c7e1ef50-2428-11f0-a0e6-516e7b85a777","responseTime":16,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33e5f3d2-55f1-4ad8-b2dc-fb532fe53084","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.9419205} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.854098,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c7e3c410-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c7e3c410-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725187,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"83258ad134254feaa5caa7fe8fdf4891","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"83258ad134254feaa5caa7fe8fdf4891","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7e3c410-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.359941534Z"}]},"request_id":"583e2e1c-6035-4dfa-a823-a71584b4ac79","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.9732497} device-1 | {"level":"info","message":"POST /devices/5ed5bb29-917d-4758-bd61-3875eb82b509/signaling 200 36ms","method":"POST","requestID":"c7e3c410-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"83258ad134254feaa5caa7fe8fdf4891","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Building connection plan","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1fe6d20d-83d7-4942-97e4-1af70e32658c"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"768eb1bd-430b-41b2-9076-7c31316f4120"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4eaf7ffb-fe78-4733-a447-5a09ac591446"}]},"level":"info","message":"Built pairwise service configurations","requestID":"31bccf378505a1454f0c99f90e17d9da"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"31bccf378505a1454f0c99f90e17d9da"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c7e9b780-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83258ad134254feaa5caa7fe8fdf4891"} gateway-1 | {"time_local":"28/Apr/2025:12:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83258ad134254feaa5caa7fe8fdf4891"} device-1 | {"level":"info","message":"GET /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d? 200 39ms","method":"GET","requestID":"83258ad134254feaa5caa7fe8fdf4891","responseTime":39,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d?"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.815797,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c7e9b780-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c7e9b780-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo","level":"info","message":"auth send jwt","requestID":"adcf7781741f36278199d2c6d595b2ea"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"adcf7781741f36278199d2c6d595b2ea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"adcf7781741f36278199d2c6d595b2ea"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649097,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"adcf7781741f36278199d2c6d595b2ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841801,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwMX0.FPEXZ84LyvQXIRER6YYrWjqEi383s27KmfvTU-1qUWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"adcf7781741f36278199d2c6d595b2ea","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"0793b840-5ef9-454c-83b2-64e9c615e109","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.9907286} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32a69ff1-5107-4ab3-b527-2f1c2942ea51","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.9908407} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:20.459981208Z"}]},"request_id":"f370a6f6-8d73-47e1-a8c8-b2c3a85f198e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841801.9915423} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"c7e9b780-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"adcf7781741f36278199d2c6d595b2ea","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"adcf7781741f36278199d2c6d595b2ea"} device-1 | {"level":"info","message":"GET /devices/5ed5bb29-917d-4758-bd61-3875eb82b509? 200 40ms","method":"GET","requestID":"adcf7781741f36278199d2c6d595b2ea","responseTime":40,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5ed5bb29-917d-4758-bd61-3875eb82b509? 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":"adcf7781741f36278199d2c6d595b2ea"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c7e9b780-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c7e9b780-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681'","requestID":"c7e9b780-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681'","requestID":"c7e9b780-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c7e9b780-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 89ms","method":"POST","requestID":"c7e9b780-2428-11f0-a0e6-516e7b85a777","responseTime":89,"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":"c7e9b780-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"31bccf378505a1454f0c99f90e17d9da"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7ff8970-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:22Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3000aeeb-55e4-4b12-94cc-a97fe1becfdc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841802.1243405} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.48822,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c7ff8970-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c7ff8970-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7ff8970-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/signaling 200 9ms","method":"POST","requestID":"c7ff8970-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c8013720-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:22Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0a08951-4cef-4451-ae77-3ae60cd7e483","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841802.13587} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.221554,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c8013720-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","rebac_allow":false,"scope_allow":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":"c8013720-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c8013720-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5ed5bb29-917d-4758-bd61-3875eb82b509/signaling 200 34ms","method":"POST","requestID":"c8013720-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509/signaling"} device-1 | {"device":"ea98bdc3-9080-46df-b7e4-3ba632235c8d","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":"68f311b2-82fd-40f4-853e-22475ee23681","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5ed5bb29-917d-4758-bd61-3875eb82b509","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":"68f311b2-82fd-40f4-853e-22475ee23681","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5ed5bb29-917d-4758-bd61-3875eb82b509","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":"5ed5bb29-917d-4758-bd61-3875eb82b509","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":"5ed5bb29-917d-4758-bd61-3875eb82b509","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":"5ed5bb29-917d-4758-bd61-3875eb82b509","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/68f311b2-82fd-40f4-853e-22475ee23681' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"68f311b2-82fd-40f4-853e-22475ee23681","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4eecd33beeb41328961ea147ed8e6e52","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4eecd33beeb41328961ea147ed8e6e52","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/5ed5bb29-917d-4758-bd61-3875eb82b509"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681"}}},"level":"info","message":"received a callback","requestID":"4eecd33beeb41328961ea147ed8e6e52"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"4eecd33beeb41328961ea147ed8e6e52","responseTime":4,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"ea98bdc3-9080-46df-b7e4-3ba632235c8d","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"}} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"4eecd33beeb41328961ea147ed8e6e52"} device-1 | {"device":"ea98bdc3-9080-46df-b7e4-3ba632235c8d","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":"ea98bdc3-9080-46df-b7e4-3ba632235c8d","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":"5ed5bb29-917d-4758-bd61-3875eb82b509","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 | {"data":{"peerconnection":"68f311b2-82fd-40f4-853e-22475ee23681","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ea98bdc3-9080-46df-b7e4-3ba632235c8d","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":"5ed5bb29-917d-4758-bd61-3875eb82b509","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":"ea98bdc3-9080-46df-b7e4-3ba632235c8d","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":"68f311b2-82fd-40f4-853e-22475ee23681","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/68f311b2-82fd-40f4-853e-22475ee23681' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"68f311b2-82fd-40f4-853e-22475ee23681","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"53fe0a890707fd115170f6968d66fdb0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"53fe0a890707fd115170f6968d66fdb0","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/5ed5bb29-917d-4758-bd61-3875eb82b509"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681"}}},"level":"info","message":"received a callback","requestID":"53fe0a890707fd115170f6968d66fdb0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c93d60a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":22.425961,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F68f311b2-82fd-40f4-853e-22475ee23681","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9fca64ca-7edd-4826-ad35-e80e05ec107b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.2264938} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c93d60a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681","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 27ms","method":"POST","requestID":"c93d60a0-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c93d60a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/68f311b2-82fd-40f4-853e-22475ee23681 200 31ms","method":"GET","requestID":"c93d60a0-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"53fe0a890707fd115170f6968d66fdb0","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"53fe0a890707fd115170f6968d66fdb0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9446580-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"00ca5b8e-fd94-4c0f-a922-5b9b171ffccf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.277039} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.623552,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c9446580-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9446580-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9446580-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5ed5bb29-917d-4758-bd61-3875eb82b509/signaling 200 34ms","method":"POST","requestID":"c9446580-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c949e3c0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I","level":"info","message":"auth send jwt","requestID":"0a972c3a33baa66418ee97800bfed52f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0a972c3a33baa66418ee97800bfed52f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b2806187-211c-4bf9-b779-7bbfb054e962","requestID":"0a972c3a33baa66418ee97800bfed52f"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a4f14cc-f9cf-4d2f-be97-38394108b77d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.2881825} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.627297,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c949e3c0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c949e3c0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.895738,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0a972c3a33baa66418ee97800bfed52f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841804,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0a972c3a33baa66418ee97800bfed52f","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c949e3c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/signaling 200 11ms","method":"POST","requestID":"c949e3c0-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b2806187-211c-4bf9-b779-7bbfb054e962","requestID":"0a972c3a33baa66418ee97800bfed52f"} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b2806187-211c-4bf9-b779-7bbfb054e962 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a972c3a33baa66418ee97800bfed52f"} experiment-1 | {"level":"info","message":"GET /experiments/b2806187-211c-4bf9-b779-7bbfb054e962 200 41ms","method":"GET","requestID":"0a972c3a33baa66418ee97800bfed52f","responseTime":41,"status":200,"url":"/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I","level":"info","message":"auth send jwt","requestID":"f9465687a954b7052fe8ec71330ce7b7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f9465687a954b7052fe8ec71330ce7b7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b2806187-211c-4bf9-b779-7bbfb054e962","requestID":"f9465687a954b7052fe8ec71330ce7b7"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.694798,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f9465687a954b7052fe8ec71330ce7b7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841804,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f9465687a954b7052fe8ec71330ce7b7","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Attempting to finish experiment","requestID":"f9465687a954b7052fe8ec71330ce7b7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c952e470-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.714084,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c952e470-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841804,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c952e470-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"ea98bdc3-9080-46df-b7e4-3ba632235c8d","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":"ea98bdc3-9080-46df-b7e4-3ba632235c8d","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":"ea98bdc3-9080-46df-b7e4-3ba632235c8d","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":"5ed5bb29-917d-4758-bd61-3875eb82b509","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":"5ed5bb29-917d-4758-bd61-3875eb82b509","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":"5ed5bb29-917d-4758-bd61-3875eb82b509","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/68f311b2-82fd-40f4-853e-22475ee23681' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"68f311b2-82fd-40f4-853e-22475ee23681","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F68f311b2-82fd-40f4-853e-22475ee23681': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F68f311b2-82fd-40f4-853e-22475ee23681","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"71c4fd92-5088-453f-a57c-cfbfd8630950","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.3837173} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b29fb7c5-dcab-4d2b-a980-dcc83bb47296","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.3840935} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"adb364911220a0007e0bb3d921650b38","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"adb364911220a0007e0bb3d921650b38","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"c952e470-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8002163495265d7cbc80f10a74a19aa3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681"}}},"level":"info","message":"received a callback","requestID":"adb364911220a0007e0bb3d921650b38"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8002163495265d7cbc80f10a74a19aa3","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/5ed5bb29-917d-4758-bd61-3875eb82b509"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681"}}},"level":"info","message":"received a callback","requestID":"8002163495265d7cbc80f10a74a19aa3"} device-1 | {"data":{"peerconnection":"68f311b2-82fd-40f4-853e-22475ee23681","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c952e470-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/68f311b2-82fd-40f4-853e-22475ee23681 204 86ms","method":"DELETE","requestID":"c952e470-2428-11f0-a0e6-516e7b85a777","responseTime":86,"status":204,"url":"/peerconnections/68f311b2-82fd-40f4-853e-22475ee23681"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"},"level":"info","message":"Successfully finished experiment","requestID":"f9465687a954b7052fe8ec71330ce7b7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9658210-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ed5bb29-917d-4758-bd61-3875eb82b509","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d931262-642c-4d1d-a99d-6564203264d7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.4711275} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.855349,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c9658210-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9658210-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9658210-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5ed5bb29-917d-4758-bd61-3875eb82b509/signaling 200 11ms","method":"POST","requestID":"c9658210-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/5ed5bb29-917d-4758-bd61-3875eb82b509/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9677de0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea98bdc3-9080-46df-b7e4-3ba632235c8d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0bcc91eb-70ac-48bd-9b57-fdb683f37a75","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.4821837} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb2806187-211c-4bf9-b779-7bbfb054e962': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb2806187-211c-4bf9-b779-7bbfb054e962","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"d14f4222-4cf7-4623-b1a9-a2b49ae07d38","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.483571} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.774314,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c9677de0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c9677de0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e809c072-4c9c-4617-a5a8-8f8eff4accbf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.484324} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"f9465687a954b7052fe8ec71330ce7b7","responseTime":44,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9677de0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/signaling 200 10ms","method":"POST","requestID":"c9677de0-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b2806187-211c-4bf9-b779-7bbfb054e962","requestID":"f9465687a954b7052fe8ec71330ce7b7"} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b2806187-211c-4bf9-b779-7bbfb054e962 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9465687a954b7052fe8ec71330ce7b7"} experiment-1 | {"level":"info","message":"DELETE /experiments/b2806187-211c-4bf9-b779-7bbfb054e962 204 247ms","method":"DELETE","requestID":"f9465687a954b7052fe8ec71330ce7b7","responseTime":247,"status":204,"url":"/experiments/b2806187-211c-4bf9-b779-7bbfb054e962"} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +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.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d70c68f218309c5d6b7fa8ebbdd2f6dd"} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.984","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e19055317b9032e7466eb8d532be38bc"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5ed5bb29-917d-4758-bd61-3875eb82b509' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 198ms","method":"POST","requestID":"adb364911220a0007e0bb3d921650b38","responseTime":198,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"8002163495265d7cbc80f10a74a19aa3","responseTime":199,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.204","http_referrer":"","http_user_agent":"node-fetch","requestID":"adb364911220a0007e0bb3d921650b38"} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch","requestID":"8002163495265d7cbc80f10a74a19aa3"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ea98bdc3-9080-46df-b7e4-3ba632235c8d' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I","level":"info","message":"auth send jwt","requestID":"c1eb00aa123bda21012248edcfe921dc"} authentication-1 | {"level":"info","message":"GET /auth 200 33ms","method":"GET","requestID":"c1eb00aa123bda21012248edcfe921dc","responseTime":33,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c1eb00aa123bda21012248edcfe921dc"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.932495,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1eb00aa123bda21012248edcfe921dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841804,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c1eb00aa123bda21012248edcfe921dc","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F348b8369-bffb-4241-b5d8-28c67f8e68bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b5aa1c0b-0449-45e2-a707-4ef840db0720","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.6678941} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c1eb00aa123bda21012248edcfe921dc","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0899614a-84df-4c57-80ea-976dc10cf8c3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.6741104} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c1eb00aa123bda21012248edcfe921dc","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F348b8369-bffb-4241-b5d8-28c67f8e68bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"e94043fc-de3b-4416-90fb-bb76ae9ef8b8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.707794} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7742344-82c0-44e3-a215-969f2f6327ee","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.7080617} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"c1eb00aa123bda21012248edcfe921dc","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F348b8369-bffb-4241-b5d8-28c67f8e68bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F348b8369-bffb-4241-b5d8-28c67f8e68bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:24.707777649Z"}]},"request_id":"4d687335-61c8-4a21-a2c5-c26025f30818","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.714193} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c1eb00aa123bda21012248edcfe921dc","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c1eb00aa123bda21012248edcfe921dc"} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1eb00aa123bda21012248edcfe921dc"} device-1 | {"level":"info","message":"POST /devices? 201 101ms","method":"POST","requestID":"c1eb00aa123bda21012248edcfe921dc","responseTime":101,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I","level":"info","message":"auth send jwt","requestID":"05574afc0106daeca4185480290b881a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"05574afc0106daeca4185480290b881a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"05574afc0106daeca4185480290b881a"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.035958,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"05574afc0106daeca4185480290b881a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841804,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"05574afc0106daeca4185480290b881a","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F924108ba-ae4d-4374-9c1e-d49ce31ee935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"691b0d4b-20b4-428b-bd31-ec6782c97989","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.812474} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"05574afc0106daeca4185480290b881a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51481492-0ef5-45db-9593-ccbe5a588ac5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.8182404} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"05574afc0106daeca4185480290b881a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F924108ba-ae4d-4374-9c1e-d49ce31ee935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"9932848d-b422-4b92-8ce8-c58c2de23dc8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.853525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c394900e-66f9-4f93-97c6-364d448b04aa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.853643} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"05574afc0106daeca4185480290b881a","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F924108ba-ae4d-4374-9c1e-d49ce31ee935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F924108ba-ae4d-4374-9c1e-d49ce31ee935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:24.853509315Z"}]},"request_id":"9eaf2538-8453-46fc-833e-b2048e1fab73","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.858197} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"05574afc0106daeca4185480290b881a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"05574afc0106daeca4185480290b881a"} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05574afc0106daeca4185480290b881a"} device-1 | {"level":"info","message":"POST /devices? 201 135ms","method":"POST","requestID":"05574afc0106daeca4185480290b881a","responseTime":135,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I","level":"info","message":"auth send jwt","requestID":"4debec4eed685c25d6e8b6df4f032454"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4debec4eed685c25d6e8b6df4f032454","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4debec4eed685c25d6e8b6df4f032454"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.634004,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4debec4eed685c25d6e8b6df4f032454","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841804,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4debec4eed685c25d6e8b6df4f032454","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ec0694f-8648-48c0-9487-e1ec1625c550","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"23ec35ae-5c5c-4afb-a7bf-d5c88e52793f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.9044855} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4debec4eed685c25d6e8b6df4f032454","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a17a249c-0939-472c-a309-a6108ecbf8aa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.908553} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4debec4eed685c25d6e8b6df4f032454","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ec0694f-8648-48c0-9487-e1ec1625c550","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"0d078bf5-7cc6-4ddd-a018-80d45780af76","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.916687} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d6f9b8d-7187-4013-b05d-2f44f4b3d674","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.9169366} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"4debec4eed685c25d6e8b6df4f032454","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ec0694f-8648-48c0-9487-e1ec1625c550","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ec0694f-8648-48c0-9487-e1ec1625c550","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:24.916675249Z"}]},"request_id":"9b99352c-62a6-48c2-b192-2a9ebc5f2683","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.9450138} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"4debec4eed685c25d6e8b6df4f032454","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4debec4eed685c25d6e8b6df4f032454"} gateway-1 | {"time_local":"28/Apr/2025:12:03:24 +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":"4debec4eed685c25d6e8b6df4f032454"} device-1 | {"level":"info","message":"POST /devices? 201 81ms","method":"POST","requestID":"4debec4eed685c25d6e8b6df4f032454","responseTime":81,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I","level":"info","message":"auth send jwt","requestID":"2166d286532cb41069a565e8418c1365"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2166d286532cb41069a565e8418c1365","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2166d286532cb41069a565e8418c1365"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.703459,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"2166d286532cb41069a565e8418c1365","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841804,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNH0.pVFPsbdwdMRg1Lv17rR00Lo2cH1QeyVfJvVKHO-C4-I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2166d286532cb41069a565e8418c1365","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75b9f589-c3b5-4f6a-b600-f92c21be2ece","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0fa2fce5-101b-40cc-a1f7-a3cd7e37e18b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.9677784} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"2166d286532cb41069a565e8418c1365","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a49f3e91-f7d4-41c5-ac51-67b29580f14e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841804.9970496} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"2166d286532cb41069a565e8418c1365","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75b9f589-c3b5-4f6a-b600-f92c21be2ece","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"d87b5b1e-faf0-436e-bef8-d0151cc9558b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.006118} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb1fcae7-e616-42ec-812e-8ceb19ac7be6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.0064964} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"2166d286532cb41069a565e8418c1365","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75b9f589-c3b5-4f6a-b600-f92c21be2ece","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75b9f589-c3b5-4f6a-b600-f92c21be2ece","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.006104742Z"}]},"request_id":"d541f454-ea3b-4986-842d-df2e1812f4dd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.0104015} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2166d286532cb41069a565e8418c1365","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2166d286532cb41069a565e8418c1365"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2166d286532cb41069a565e8418c1365"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"2166d286532cb41069a565e8418c1365","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.016594,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4bd7bbf9-708c-47a8-a2b1-b3c211535c26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"da5af5ee-e73f-4dfd-8f93-80e1f2117512","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.0574849} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50f995aa-17fe-4580-8057-aaaf83119381","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.0616422} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4bd7bbf9-708c-47a8-a2b1-b3c211535c26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"7621ef01-95a5-4411-846b-a81d979cd787","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.0946164} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a1d857d-a0d4-4533-ba40-7b019c74c2a7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.0948687} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4bd7bbf9-708c-47a8-a2b1-b3c211535c26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4bd7bbf9-708c-47a8-a2b1-b3c211535c26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.094599366Z"}]},"request_id":"da4c92fb-e8a0-4e75-a8c6-9c83541f638f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.098942} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +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":"dcbd9e4c9db4c264a8c92d2ab9a1f81b"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"dcbd9e4c9db4c264a8c92d2ab9a1f81b","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"f263d8bd192b041c0b5351c7c7e05270"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f263d8bd192b041c0b5351c7c7e05270","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f263d8bd192b041c0b5351c7c7e05270"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.897716,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f263d8bd192b041c0b5351c7c7e05270","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f263d8bd192b041c0b5351c7c7e05270","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52a5f5fb-c2ab-4bce-8df2-d1c3da0d9166","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d0c90002-39bb-4a37-acac-aef448157f65","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.1485682} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f263d8bd192b041c0b5351c7c7e05270","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea2ca894-f9cb-4044-8487-cf54fab8765d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.1537268} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f263d8bd192b041c0b5351c7c7e05270","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52a5f5fb-c2ab-4bce-8df2-d1c3da0d9166","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"d664c1fc-94f1-4aed-912c-e056f27ff488","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.1631548} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41f7197e-5ff3-478b-a1a4-57309f8bf0cb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.1637003} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"f263d8bd192b041c0b5351c7c7e05270","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52a5f5fb-c2ab-4bce-8df2-d1c3da0d9166","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52a5f5fb-c2ab-4bce-8df2-d1c3da0d9166","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.163135545Z"}]},"request_id":"db506e5c-bcf8-4152-8df5-525c91ae48ce","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.189346} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f263d8bd192b041c0b5351c7c7e05270","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f263d8bd192b041c0b5351c7c7e05270"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f263d8bd192b041c0b5351c7c7e05270"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"f263d8bd192b041c0b5351c7c7e05270","responseTime":85,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"c34d387dbf078225b907b4bf9dfe364c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c34d387dbf078225b907b4bf9dfe364c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c34d387dbf078225b907b4bf9dfe364c"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.925018,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c34d387dbf078225b907b4bf9dfe364c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c34d387dbf078225b907b4bf9dfe364c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57881d6d-5958-4e77-9e46-ed3d7a4a4a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4894ebc9-591c-4bdb-9aec-5e8afd092dd8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.236923} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c34d387dbf078225b907b4bf9dfe364c","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dba8c2b-dc79-4ec3-9d50-8e60f1b531e2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.2416408} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c34d387dbf078225b907b4bf9dfe364c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57881d6d-5958-4e77-9e46-ed3d7a4a4a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"16c5d912-2845-4e1e-ae82-0957315367cd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.251986} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0ecc736-1745-4343-b74d-495451ce32b3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.2521224} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"c34d387dbf078225b907b4bf9dfe364c","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57881d6d-5958-4e77-9e46-ed3d7a4a4a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57881d6d-5958-4e77-9e46-ed3d7a4a4a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.251967966Z"}]},"request_id":"c68aa813-1765-4e16-b599-2c3dc4482056","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.2562969} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"c34d387dbf078225b907b4bf9dfe364c","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c34d387dbf078225b907b4bf9dfe364c"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"c34d387dbf078225b907b4bf9dfe364c","responseTime":86,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c34d387dbf078225b907b4bf9dfe364c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"8e893f8882b9eb0c287c26836f87a039"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8e893f8882b9eb0c287c26836f87a039","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8e893f8882b9eb0c287c26836f87a039"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.774067,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8e893f8882b9eb0c287c26836f87a039","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8e893f8882b9eb0c287c26836f87a039","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f79737-f9ac-486b-9fd0-c65d7ce6c5b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0a4d0015-ffb1-445c-b269-ae3506c7670c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.3015676} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8e893f8882b9eb0c287c26836f87a039","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbce5541-a6b5-47ac-8a0b-9d3a02f97159","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.3300734} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"8e893f8882b9eb0c287c26836f87a039","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f79737-f9ac-486b-9fd0-c65d7ce6c5b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"d9f20222-9922-4cfc-ab9d-49be96880f3f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.3393939} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3716b2cf-8334-4be1-ad03-62b2b0e8c931","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.339625} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"8e893f8882b9eb0c287c26836f87a039","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f79737-f9ac-486b-9fd0-c65d7ce6c5b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f79737-f9ac-486b-9fd0-c65d7ce6c5b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.339375265Z"}]},"request_id":"7eb629db-241c-4302-9fcf-00cab736870a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.3435714} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8e893f8882b9eb0c287c26836f87a039","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8e893f8882b9eb0c287c26836f87a039"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +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":"8e893f8882b9eb0c287c26836f87a039"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"8e893f8882b9eb0c287c26836f87a039","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"0bfd115988286a2bc57df7de7d8a7a59"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0bfd115988286a2bc57df7de7d8a7a59","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0bfd115988286a2bc57df7de7d8a7a59"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.830046,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0bfd115988286a2bc57df7de7d8a7a59","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0bfd115988286a2bc57df7de7d8a7a59","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda9919e3-8d74-4eec-bf8e-9f013673692b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e5902275-f647-47a9-a0e0-5936f8b350b9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.3925698} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0bfd115988286a2bc57df7de7d8a7a59","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7330012-f664-4c2c-a2e9-5e047ca54366","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.3970158} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0bfd115988286a2bc57df7de7d8a7a59","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda9919e3-8d74-4eec-bf8e-9f013673692b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"6b47cc17-9943-4307-b1be-dd952b3e47f8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.4310057} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a92aaf4-bffc-4359-9f3a-fa16d3c0bacb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.4311736} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"0bfd115988286a2bc57df7de7d8a7a59","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda9919e3-8d74-4eec-bf8e-9f013673692b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda9919e3-8d74-4eec-bf8e-9f013673692b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.430991057Z"}]},"request_id":"4c7d2756-e4a2-467b-b521-a9dbf05ab0f1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.4352605} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0bfd115988286a2bc57df7de7d8a7a59","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0bfd115988286a2bc57df7de7d8a7a59"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0bfd115988286a2bc57df7de7d8a7a59"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"0bfd115988286a2bc57df7de7d8a7a59","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"54c28dea21a8af00f5595699d3a1aeba"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"54c28dea21a8af00f5595699d3a1aeba","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"54c28dea21a8af00f5595699d3a1aeba"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.655656,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"54c28dea21a8af00f5595699d3a1aeba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"54c28dea21a8af00f5595699d3a1aeba","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff31c7110-87b2-4476-b7dc-044e439c8f1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5e52b36-2b48-43ca-ace4-e7ad98ff61ab","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.5270653} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"54c28dea21a8af00f5595699d3a1aeba","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5fa68f08-b248-4f73-8a95-ec778ee9d5a1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.5321317} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"54c28dea21a8af00f5595699d3a1aeba","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff31c7110-87b2-4476-b7dc-044e439c8f1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"5db5cac4-82c3-4927-94a0-22edcb5ddb54","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.5416136} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc8ce27b-a6e4-459c-9f63-bbe9cb341a2e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.5418682} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"54c28dea21a8af00f5595699d3a1aeba","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff31c7110-87b2-4476-b7dc-044e439c8f1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff31c7110-87b2-4476-b7dc-044e439c8f1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.541599244Z"}]},"request_id":"33e33b4e-407b-408a-b6cc-fe20bc1cd191","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.570769} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"54c28dea21a8af00f5595699d3a1aeba","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"54c28dea21a8af00f5595699d3a1aeba"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54c28dea21a8af00f5595699d3a1aeba"} device-1 | {"level":"info","message":"POST /devices? 201 132ms","method":"POST","requestID":"54c28dea21a8af00f5595699d3a1aeba","responseTime":132,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"f1d5012710d2a3c9f04125333411b099"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f1d5012710d2a3c9f04125333411b099","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f1d5012710d2a3c9f04125333411b099"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.637238,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f1d5012710d2a3c9f04125333411b099","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f1d5012710d2a3c9f04125333411b099","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F794acc3b-e9f2-40fa-8724-b4e8190628b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"119f1e02-daa7-4271-8c81-3890877dc64d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.6181884} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"f1d5012710d2a3c9f04125333411b099","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbbd49a4-196e-4a19-9aa3-f1a2a72b683e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.62279} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f1d5012710d2a3c9f04125333411b099","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F794acc3b-e9f2-40fa-8724-b4e8190628b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"72ffa9bd-5598-4e61-a3c6-4c1607222404","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.6349194} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa01d35e-b736-44e2-a0cc-53f55cd94a27","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.6351423} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"f1d5012710d2a3c9f04125333411b099","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F794acc3b-e9f2-40fa-8724-b4e8190628b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F794acc3b-e9f2-40fa-8724-b4e8190628b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.634897745Z"}]},"request_id":"5db3786b-a936-4edf-b0dd-18a181971b0f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.6400633} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"f1d5012710d2a3c9f04125333411b099","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f1d5012710d2a3c9f04125333411b099"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1d5012710d2a3c9f04125333411b099"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"f1d5012710d2a3c9f04125333411b099","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"9b3c933291336e61ac2b9eea3b7a51c9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9b3c933291336e61ac2b9eea3b7a51c9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9b3c933291336e61ac2b9eea3b7a51c9"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.665227,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9b3c933291336e61ac2b9eea3b7a51c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9b3c933291336e61ac2b9eea3b7a51c9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf823513-f8c6-403d-a6e1-2456aa4e4cbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0e188755-4c76-4543-b948-f3fa271726c4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.6887443} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"9b3c933291336e61ac2b9eea3b7a51c9","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4dc9bb25-9f7e-4518-a953-230af345c6ee","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.7184932} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9b3c933291336e61ac2b9eea3b7a51c9","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf823513-f8c6-403d-a6e1-2456aa4e4cbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"39ced967-a2ce-4891-95b9-35e7c37a6953","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.7266066} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ac7e66f-fbae-4015-8622-105ce6398502","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.7268753} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"9b3c933291336e61ac2b9eea3b7a51c9","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf823513-f8c6-403d-a6e1-2456aa4e4cbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf823513-f8c6-403d-a6e1-2456aa4e4cbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.726587483Z"}]},"request_id":"1b2c381b-b6a3-4060-802f-aeb2bcbd0398","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.7308512} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9b3c933291336e61ac2b9eea3b7a51c9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9b3c933291336e61ac2b9eea3b7a51c9"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b3c933291336e61ac2b9eea3b7a51c9"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"9b3c933291336e61ac2b9eea3b7a51c9","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.227871,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0e6674fbc53be57a40c5e36fa4b2ae51","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54cf4e46-04f9-4931-98de-f3bd41af07db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f1967d2f-bfc9-4582-b349-380f78238711","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.7764313} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a166eaa-0c38-4d81-83ec-635fe7d2000c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.780467} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54cf4e46-04f9-4931-98de-f3bd41af07db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"57c82435-a69d-4c9e-b3c0-0e26d4d798be","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.810024} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba13dfc6-d455-4bd2-a72a-7e8ac954a5d3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.810519} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54cf4e46-04f9-4931-98de-f3bd41af07db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54cf4e46-04f9-4931-98de-f3bd41af07db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.810001042Z"}]},"request_id":"24ac0ff1-9ecf-4dc1-9f5f-862b67bae499","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.8148024} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.082","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"0e6674fbc53be57a40c5e36fa4b2ae51","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"bfa2a13a3175bc542dbebc753785ba8d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bfa2a13a3175bc542dbebc753785ba8d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"bfa2a13a3175bc542dbebc753785ba8d"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.788052,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/794acc3b-e9f2-40fa-8724-b4e8190628b8","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bfa2a13a3175bc542dbebc753785ba8d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/794acc3b-e9f2-40fa-8724-b4e8190628b8","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bfa2a13a3175bc542dbebc753785ba8d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F794acc3b-e9f2-40fa-8724-b4e8190628b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F794acc3b-e9f2-40fa-8724-b4e8190628b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.634897745Z"}]},"request_id":"c3437c10-5f55-42c4-98af-993ff44a84de","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.861173} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bfa2a13a3175bc542dbebc753785ba8d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a7004bf-ca67-4a7c-ba9f-88408ef8c78a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.8678918} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bfa2a13a3175bc542dbebc753785ba8d","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F794acc3b-e9f2-40fa-8724-b4e8190628b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F794acc3b-e9f2-40fa-8724-b4e8190628b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.634897745Z"}]},"request_id":"abe2802e-71bb-4fce-bbf9-b1b836c98d5c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.9186165} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bfa2a13a3175bc542dbebc753785ba8d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"bfa2a13a3175bc542dbebc753785ba8d"} gateway-1 | {"time_local":"28/Apr/2025:12:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/794acc3b-e9f2-40fa-8724-b4e8190628b8? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.100","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bfa2a13a3175bc542dbebc753785ba8d"} device-1 | {"level":"info","message":"PATCH /devices/794acc3b-e9f2-40fa-8724-b4e8190628b8? 200 95ms","method":"PATCH","requestID":"bfa2a13a3175bc542dbebc753785ba8d","responseTime":95,"status":200,"url":"/devices/794acc3b-e9f2-40fa-8724-b4e8190628b8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU","level":"info","message":"auth send jwt","requestID":"8b1e06c5f7b56a9aae7f9956020cd334"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8b1e06c5f7b56a9aae7f9956020cd334","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8b1e06c5f7b56a9aae7f9956020cd334"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.579177,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8b1e06c5f7b56a9aae7f9956020cd334","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841805,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNX0.tPuWlwgtKdvGytWocaEO6zLZ3FQoUHzIk_h7ykLJ3aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"8b1e06c5f7b56a9aae7f9956020cd334","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf823513-f8c6-403d-a6e1-2456aa4e4cbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf823513-f8c6-403d-a6e1-2456aa4e4cbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.726587483Z"}]},"request_id":"a565d972-b1f4-4258-bc38-184c2bd82488","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.9632764} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8b1e06c5f7b56a9aae7f9956020cd334","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c1a1d71-11fb-4784-8c87-3f1fde30d462","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841805.9687154} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8b1e06c5f7b56a9aae7f9956020cd334","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf823513-f8c6-403d-a6e1-2456aa4e4cbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf823513-f8c6-403d-a6e1-2456aa4e4cbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.726587483Z"}]},"request_id":"a640256d-a60d-49ce-bc33-5c1b5164e6f2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.0104325} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8b1e06c5f7b56a9aae7f9956020cd334","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8b1e06c5f7b56a9aae7f9956020cd334"} gateway-1 | {"time_local":"28/Apr/2025:12:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc? 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":"8b1e06c5f7b56a9aae7f9956020cd334"} device-1 | {"level":"info","message":"PATCH /devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc? 200 85ms","method":"PATCH","requestID":"8b1e06c5f7b56a9aae7f9956020cd334","responseTime":85,"status":200,"url":"/devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA","level":"info","message":"auth send jwt","requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.321994,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/54cf4e46-04f9-4931-98de-f3bd41af07db","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/54cf4e46-04f9-4931-98de-f3bd41af07db","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54cf4e46-04f9-4931-98de-f3bd41af07db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54cf4e46-04f9-4931-98de-f3bd41af07db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.810001042Z"}]},"request_id":"0d090f54-da32-4874-b06f-aafef9d46101","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.0525067} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a00ee4f8-cfa3-4cbf-bf86-00887464647b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.0583365} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54cf4e46-04f9-4931-98de-f3bd41af07db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54cf4e46-04f9-4931-98de-f3bd41af07db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.810001042Z"}]},"request_id":"89461697-fd41-4135-81da-a741b10911a4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.2006874} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3"} gateway-1 | {"time_local":"28/Apr/2025:12:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/54cf4e46-04f9-4931-98de-f3bd41af07db? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3"} device-1 | {"level":"info","message":"PATCH /devices/54cf4e46-04f9-4931-98de-f3bd41af07db? 200 187ms","method":"PATCH","requestID":"9fcffe3b7eaa66609fa02ac1fac5eed3","responseTime":187,"status":200,"url":"/devices/54cf4e46-04f9-4931-98de-f3bd41af07db?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA","level":"info","message":"auth send jwt","requestID":"87635cf79c76ac5aa192b92f8c83bf1e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87635cf79c76ac5aa192b92f8c83bf1e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87635cf79c76ac5aa192b92f8c83bf1e"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720961,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/794acc3b-e9f2-40fa-8724-b4e8190628b8","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"87635cf79c76ac5aa192b92f8c83bf1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/794acc3b-e9f2-40fa-8724-b4e8190628b8","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"87635cf79c76ac5aa192b92f8c83bf1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F794acc3b-e9f2-40fa-8724-b4e8190628b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F794acc3b-e9f2-40fa-8724-b4e8190628b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.634897745Z"}]},"request_id":"67fba245-5d98-42a3-8223-b2e62b5a0fc4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.2163832} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"87635cf79c76ac5aa192b92f8c83bf1e","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912757,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.550648,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/348b8369-bffb-4241-b5d8-28c67f8e68bc","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"87635cf79c76ac5aa192b92f8c83bf1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/348b8369-bffb-4241-b5d8-28c67f8e68bc","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87635cf79c76ac5aa192b92f8c83bf1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/924108ba-ae4d-4374-9c1e-d49ce31ee935","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"87635cf79c76ac5aa192b92f8c83bf1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/924108ba-ae4d-4374-9c1e-d49ce31ee935","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87635cf79c76ac5aa192b92f8c83bf1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.050559,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ec0694f-8648-48c0-9487-e1ec1625c550","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"87635cf79c76ac5aa192b92f8c83bf1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/8ec0694f-8648-48c0-9487-e1ec1625c550","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"87635cf79c76ac5aa192b92f8c83bf1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624888,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"87635cf79c76ac5aa192b92f8c83bf1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"87635cf79c76ac5aa192b92f8c83bf1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87635cf79c76ac5aa192b92f8c83bf1e"} gateway-1 | {"time_local":"28/Apr/2025:12:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/794acc3b-e9f2-40fa-8724-b4e8190628b8? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87635cf79c76ac5aa192b92f8c83bf1e"} device-1 | {"level":"info","message":"GET /devices/794acc3b-e9f2-40fa-8724-b4e8190628b8? 200 46ms","method":"GET","requestID":"87635cf79c76ac5aa192b92f8c83bf1e","responseTime":46,"status":200,"url":"/devices/794acc3b-e9f2-40fa-8724-b4e8190628b8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA","level":"info","message":"auth send jwt","requestID":"ed3a8614de923543ec2db593ffc3a438"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ed3a8614de923543ec2db593ffc3a438","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed3a8614de923543ec2db593ffc3a438"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692345,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed3a8614de923543ec2db593ffc3a438","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ed3a8614de923543ec2db593ffc3a438","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf823513-f8c6-403d-a6e1-2456aa4e4cbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf823513-f8c6-403d-a6e1-2456aa4e4cbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.726587483Z"}]},"request_id":"ca25dedc-63b4-4d92-b4d2-6bc6a6c25451","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.2959242} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ed3a8614de923543ec2db593ffc3a438","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656636,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.461435,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.447331,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75b9f589-c3b5-4f6a-b600-f92c21be2ece","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed3a8614de923543ec2db593ffc3a438","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/75b9f589-c3b5-4f6a-b600-f92c21be2ece","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed3a8614de923543ec2db593ffc3a438","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4bd7bbf9-708c-47a8-a2b1-b3c211535c26","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed3a8614de923543ec2db593ffc3a438","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/4bd7bbf9-708c-47a8-a2b1-b3c211535c26","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed3a8614de923543ec2db593ffc3a438","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/52a5f5fb-c2ab-4bce-8df2-d1c3da0d9166","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed3a8614de923543ec2db593ffc3a438","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/52a5f5fb-c2ab-4bce-8df2-d1c3da0d9166","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed3a8614de923543ec2db593ffc3a438","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701977,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/794acc3b-e9f2-40fa-8724-b4e8190628b8","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed3a8614de923543ec2db593ffc3a438","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/794acc3b-e9f2-40fa-8724-b4e8190628b8","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"ed3a8614de923543ec2db593ffc3a438","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831954,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:33534","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54cf4e46-04f9-4931-98de-f3bd41af07db","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed3a8614de923543ec2db593ffc3a438","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/54cf4e46-04f9-4931-98de-f3bd41af07db","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"ed3a8614de923543ec2db593ffc3a438","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33534","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.30009,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57881d6d-5958-4e77-9e46-ed3d7a4a4a38","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed3a8614de923543ec2db593ffc3a438","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/57881d6d-5958-4e77-9e46-ed3d7a4a4a38","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","method":"POST","requestID":"ed3a8614de923543ec2db593ffc3a438","responseTime":41,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed3a8614de923543ec2db593ffc3a438"} gateway-1 | {"time_local":"28/Apr/2025:12:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed3a8614de923543ec2db593ffc3a438"} device-1 | {"level":"info","message":"GET /devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc? 200 85ms","method":"GET","requestID":"ed3a8614de923543ec2db593ffc3a438","responseTime":85,"status":200,"url":"/devices/df823513-f8c6-403d-a6e1-2456aa4e4cbc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA","level":"info","message":"auth send jwt","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2"} authorization-1 | {"client_addr":"127.0.0.1:33534","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:33534","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998234,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54cf4e46-04f9-4931-98de-f3bd41af07db","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/54cf4e46-04f9-4931-98de-f3bd41af07db","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54cf4e46-04f9-4931-98de-f3bd41af07db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54cf4e46-04f9-4931-98de-f3bd41af07db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:25.810001042Z"}]},"request_id":"ce6251be-ef8b-436f-b67c-8d74a5de889b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.3891373} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:33534","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:33534","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044042,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41286","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906705,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.503391,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f79737-f9ac-486b-9fd0-c65d7ce6c5b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b2f79737-f9ac-486b-9fd0-c65d7ce6c5b7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da9919e3-8d74-4eec-bf8e-9f013673692b","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/da9919e3-8d74-4eec-bf8e-9f013673692b","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f31c7110-87b2-4476-b7dc-044e439c8f1d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/f31c7110-87b2-4476-b7dc-044e439c8f1d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66466,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/794acc3b-e9f2-40fa-8724-b4e8190628b8","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/794acc3b-e9f2-40fa-8724-b4e8190628b8","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2"} gateway-1 | {"time_local":"28/Apr/2025:12:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/54cf4e46-04f9-4931-98de-f3bd41af07db? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2"} device-1 | {"level":"info","message":"GET /devices/54cf4e46-04f9-4931-98de-f3bd41af07db? 200 48ms","method":"GET","requestID":"dd881cc55f5f4223c3ecac1f6f5074a2","responseTime":48,"status":200,"url":"/devices/54cf4e46-04f9-4931-98de-f3bd41af07db?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA","level":"info","message":"auth send jwt","requestID":"7760883eb5f41b51be43179f2a30a997"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"7760883eb5f41b51be43179f2a30a997","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7760883eb5f41b51be43179f2a30a997"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.689836,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7760883eb5f41b51be43179f2a30a997","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7760883eb5f41b51be43179f2a30a997","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5393ba4-a3b1-4efd-8baa-5305101b6ee6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.4869926} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7760883eb5f41b51be43179f2a30a997","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b378087d-b924-4f02-a25d-15cbd41ddd70","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.4913478} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7760883eb5f41b51be43179f2a30a997","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"bebd91e3-8d87-4eda-af33-9547903011dc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.5013084} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9873baf2-1c4d-4a5e-ba86-2d385f12f2cd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.5014505} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"7760883eb5f41b51be43179f2a30a997","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:26.501286709Z"}]},"request_id":"f13f8604-4bb5-4c35-a2b7-2486efe3ea9b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.529355} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"7760883eb5f41b51be43179f2a30a997","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7760883eb5f41b51be43179f2a30a997"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"7760883eb5f41b51be43179f2a30a997","responseTime":97,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7760883eb5f41b51be43179f2a30a997"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA","level":"info","message":"auth send jwt","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.688947,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e7e7f97-95a3-477d-a814-b7827f89a0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ef1699fa-075e-45a8-a9bd-7a1fe3df8090","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.5511947} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"513d8cbb-fba4-48f5-a6fa-4e119bd05871","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.5550025} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e7e7f97-95a3-477d-a814-b7827f89a0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"b6d29c89-51e4-4f1a-b009-026503da0166","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.5905063} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f67386ff-6004-4393-81c3-afeba22c45c9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.590798} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e7e7f97-95a3-477d-a814-b7827f89a0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e7e7f97-95a3-477d-a814-b7827f89a0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:26.590486693Z"}]},"request_id":"07c27a0f-8806-4370-8a88-ccde92aa70dc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.5953262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7","responseTime":61,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69a35b6b8bfb943a88dbebdc87f0fbc7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA","level":"info","message":"auth send jwt","requestID":"3c40d648bf1805d250057874a26a0336"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"3c40d648bf1805d250057874a26a0336","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3c40d648bf1805d250057874a26a0336"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.696935,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"3c40d648bf1805d250057874a26a0336","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841806,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwNn0.NsVU39t3yQTTDcEYM2L1hjdtHIifwlrKZ1H1munFxRA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3c40d648bf1805d250057874a26a0336","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ad51d3fb-d484-4272-861c-a29f6c22ded8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.643752} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3c40d648bf1805d250057874a26a0336","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8728396c-fc2e-4ef8-98a4-7cbae122edd0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.6481147} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"3c40d648bf1805d250057874a26a0336","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"d708d2ae-abf6-44e5-ad8e-148427ab77e4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.6852405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8830ad42-9b03-43c0-a373-ca891ea7d950","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.6854692} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"3c40d648bf1805d250057874a26a0336","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:26.685221391Z"}]},"request_id":"2fc22301-0e80-4559-b6dc-c5a89dbdf8f3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841806.689764} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3c40d648bf1805d250057874a26a0336","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3c40d648bf1805d250057874a26a0336"} gateway-1 | {"time_local":"28/Apr/2025:12:03:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c40d648bf1805d250057874a26a0336"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"3c40d648bf1805d250057874a26a0336","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"124fee4804ed590651f04ab6bc8ff0cd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"124fee4804ed590651f04ab6bc8ff0cd","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"825eb4412f2b73b65880426e7e64786e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"825eb4412f2b73b65880426e7e64786e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/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":"124fee4804ed590651f04ab6bc8ff0cd"} device-1 | {"level":"info","message":"OPTIONS /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/websocket 200 1ms","method":"OPTIONS","requestID":"124fee4804ed590651f04ab6bc8ff0cd","responseTime":1,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/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":"825eb4412f2b73b65880426e7e64786e"} device-1 | {"level":"info","message":"OPTIONS /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/websocket 200 1ms","method":"OPTIONS","requestID":"825eb4412f2b73b65880426e7e64786e","responseTime":1,"status":200,"url":"/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o","level":"info","message":"auth send jwt","requestID":"4c072cdfff62607c41992347c1afa5ce"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4c072cdfff62607c41992347c1afa5ce","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4c072cdfff62607c41992347c1afa5ce"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o","level":"info","message":"auth send jwt","requestID":"62e2008c62162109f89a454ea539241b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"62e2008c62162109f89a454ea539241b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"62e2008c62162109f89a454ea539241b"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74899,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4c072cdfff62607c41992347c1afa5ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4c072cdfff62607c41992347c1afa5ce","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731187,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"62e2008c62162109f89a454ea539241b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"62e2008c62162109f89a454ea539241b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4c072cdfff62607c41992347c1afa5ce"} device-1 | {"level":"info","message":"POST /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/websocket 200 51ms","method":"POST","requestID":"4c072cdfff62607c41992347c1afa5ce","responseTime":51,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/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":"4c072cdfff62607c41992347c1afa5ce"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"62e2008c62162109f89a454ea539241b"} device-1 | {"level":"info","message":"POST /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/websocket 200 87ms","method":"POST","requestID":"62e2008c62162109f89a454ea539241b","responseTime":87,"status":200,"url":"/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.091","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"62e2008c62162109f89a454ea539241b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o","level":"info","message":"auth send jwt","requestID":"aa49f6a0ec6ebad26a8b6507624f75f2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aa49f6a0ec6ebad26a8b6507624f75f2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aa49f6a0ec6ebad26a8b6507624f75f2"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.615772,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"aa49f6a0ec6ebad26a8b6507624f75f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"aa49f6a0ec6ebad26a8b6507624f75f2","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:26.685221391Z"}]},"request_id":"74b86178-d6de-487d-a730-aa1181f99567","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.2244263} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aa49f6a0ec6ebad26a8b6507624f75f2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aa49f6a0ec6ebad26a8b6507624f75f2"} device-1 | {"level":"info","message":"GET /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279? 200 39ms","method":"GET","requestID":"aa49f6a0ec6ebad26a8b6507624f75f2","responseTime":39,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279? 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":"aa49f6a0ec6ebad26a8b6507624f75f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o","level":"info","message":"auth send jwt","requestID":"c8c73d7a3acb20f179148634d702b2d8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c8c73d7a3acb20f179148634d702b2d8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c8c73d7a3acb20f179148634d702b2d8"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.715915,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c8c73d7a3acb20f179148634d702b2d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c8c73d7a3acb20f179148634d702b2d8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Attempting to run experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Attempting to book experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc45e5b0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Successfully booked experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc494110-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733683,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e7e7f97-95a3-477d-a814-b7827f89a0fe","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc45e5b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0e7e7f97-95a3-477d-a814-b7827f89a0fe","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cc45e5b0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830422,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc494110-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cc494110-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e7e7f97-95a3-477d-a814-b7827f89a0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e7e7f97-95a3-477d-a814-b7827f89a0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:26.590486693Z"}]},"request_id":"e85e22dc-6a3d-4313-8741-b9ab083a5e79","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.3211336} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cc45e5b0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:26.685221391Z"}]},"request_id":"012acfd1-d733-4e3b-8b08-451ed637936e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.3221874} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cc494110-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc494110-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279? 200 18ms","method":"GET","requestID":"cc494110-2428-11f0-a0e6-516e7b85a777","responseTime":18,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279?"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838851,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc45e5b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cc45e5b0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc45e5b0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Setting up experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} device-1 | {"level":"info","message":"GET /devices/0e7e7f97-95a3-477d-a814-b7827f89a0fe? 200 45ms","method":"GET","requestID":"cc45e5b0-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":200,"url":"/devices/0e7e7f97-95a3-477d-a814-b7827f89a0fe?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Successfully set up experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc626e60-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Successfully running experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc62bc80-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.942733,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc675060-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc626e60-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cc626e60-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961177,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc62bc80-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc62bc80-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"459beda3-7fdc-470b-b1ef-12775e156369","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.5168536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:26.501286709Z"}]},"request_id":"46847494-d3ba-4ba7-b824-72ea52c0c042","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.518021} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.566551,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc675060-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","object_type":"device","rebac_allow":false,"scope_allow":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":"cc675060-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"cc626e60-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:26.685221391Z"}]},"request_id":"fd2bae7e-8d1c-48e1-a8e7-3459383752f4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.5194018} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cc62bc80-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3c81cc2-b225-4b55-af6e-4c1527863fbf#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3c81cc2-b225-4b55-af6e-4c1527863fbf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"9e28bcac-e5a8-409f-9e2a-659c21673bfb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.5239582} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99b7ed89-28b3-4131-92ec-6ca63922ea60","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.5243003} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"c8c73d7a3acb20f179148634d702b2d8","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc626e60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5? 200 50ms","method":"GET","requestID":"cc626e60-2428-11f0-a0e6-516e7b85a777","responseTime":50,"status":200,"url":"/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc675060-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/signaling 200 44ms","method":"POST","requestID":"cc675060-2428-11f0-a0e6-516e7b85a777","responseTime":44,"status":200,"url":"/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc62bc80-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279? 200 75ms","method":"GET","requestID":"cc62bc80-2428-11f0-a0e6-516e7b85a777","responseTime":75,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc6eca70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1efc424-56fe-4709-8491-3f60ee0f7b47","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.563534} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.640505,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc6eca70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc6eca70-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc6fb4d0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c8c73d7a3acb20f179148634d702b2d8"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1851829f-a5fe-4a76-9f90-ec0f00471346","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.5705743} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc6eca70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.183544,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} device-1 | {"level":"info","message":"POST /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/signaling 200 13ms","method":"POST","requestID":"cc6eca70-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc6fb4d0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","object_type":"device","rebac_allow":false,"scope_allow":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":"cc6fb4d0-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.347","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 369ms","method":"POST","requestID":"c8c73d7a3acb20f179148634d702b2d8","responseTime":369,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o","level":"info","message":"auth send jwt","requestID":"1f888fbd9fdcb478212ec202dd6e2135"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1f888fbd9fdcb478212ec202dd6e2135","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1f888fbd9fdcb478212ec202dd6e2135"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc6fb4d0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/signaling 200 52ms","method":"POST","requestID":"cc6fb4d0-2428-11f0-a0e6-516e7b85a777","responseTime":52,"status":200,"url":"/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc781940-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618162,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1f888fbd9fdcb478212ec202dd6e2135","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"1f888fbd9fdcb478212ec202dd6e2135","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a60e2b9-dbf0-477c-9f13-9a57fa99483a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.6514812} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.435363,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc781940-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","object_type":"device","rebac_allow":false,"scope_allow":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":"cc781940-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:26.501286709Z"}]},"request_id":"5959e61a-3c32-4c04-ae5d-a22ac0eb89fb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.6556425} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc781940-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/signaling 200 36ms","method":"POST","requestID":"cc781940-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1f888fbd9fdcb478212ec202dd6e2135","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Building connection plan","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"fca74d30-bd76-4086-a9f6-52820783c4c9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"699a92b1-fa2d-47eb-89ee-4b6a01eace9e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"64257a60-28c3-40d3-9f02-608620e27d04"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c8c73d7a3acb20f179148634d702b2d8"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c8c73d7a3acb20f179148634d702b2d8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1f888fbd9fdcb478212ec202dd6e2135"} gateway-1 | {"time_local":"28/Apr/2025:12:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f888fbd9fdcb478212ec202dd6e2135"} device-1 | {"level":"info","message":"GET /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5? 200 45ms","method":"GET","requestID":"1f888fbd9fdcb478212ec202dd6e2135","responseTime":45,"status":200,"url":"/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cc7e33c0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o","level":"info","message":"auth send jwt","requestID":"46b00f635e8dae5686c4a6ce87f1fb1a"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.727421,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"46b00f635e8dae5686c4a6ce87f1fb1a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"46b00f635e8dae5686c4a6ce87f1fb1a"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc7e33c0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cc7e33c0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743512,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"46b00f635e8dae5686c4a6ce87f1fb1a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"46b00f635e8dae5686c4a6ce87f1fb1a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"46b00f635e8dae5686c4a6ce87f1fb1a"} gateway-1 | {"time_local":"28/Apr/2025:12:03:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279? 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":"46b00f635e8dae5686c4a6ce87f1fb1a"} device-1 | {"level":"info","message":"GET /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279? 200 36ms","method":"GET","requestID":"46b00f635e8dae5686c4a6ce87f1fb1a","responseTime":36,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:26.685221391Z"}]},"request_id":"cd66a999-954c-4a22-baea-bbd675fcd6f8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.6726725} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"46b00f635e8dae5686c4a6ce87f1fb1a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"5862acda-f817-4674-8393-d1516d8141c2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.6737847} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79d1f941-988c-4cae-8801-9024a27e8c16","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.6740737} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"cc7e33c0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cc7e33c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cc7e33c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254'","requestID":"cc7e33c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254'","requestID":"cc7e33c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cc7e33c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 61ms","method":"POST","requestID":"cc7e33c0-2428-11f0-a0e6-516e7b85a777","responseTime":61,"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":"cc7e33c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254","device":"962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","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} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254","device":"72e5ca2b-ec5f-4049-a5be-96cfb79e6279","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/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c8c73d7a3acb20f179148634d702b2d8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc927f10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"device":"962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2676557a-e9fc-419f-8d34-02742cc2e736","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.8007824} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668412,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc927f10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc927f10-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc927f10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/signaling 200 12ms","method":"POST","requestID":"cc927f10-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc94c900-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} device-1 | {"device":"72e5ca2b-ec5f-4049-a5be-96cfb79e6279","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"72e5ca2b-ec5f-4049-a5be-96cfb79e6279","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b82111e-11ed-4025-ae1e-0986f2bee26a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.812722} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.773766,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cc94c900-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc94c900-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc94c900-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/signaling 200 34ms","method":"POST","requestID":"cc94c900-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 3356526726155664127 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:EARG\r\na=ice-pwd:Z3PdwnanBT/oqErd+H67IgU8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 66:68:FA:34:18:EC:75:64:D7:60:7B:6A:C0:E4:D7:18:02:6B:01:99:19:45:68:23:CB:45:16:C9:CF:81:E3:7C\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 2472826923556744387 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:AMJk\r\na=ice-pwd:4h5L9mvKtPtUQm1wRdgZ57Fu\r\na=ice-options:trickle\r\na=fingerprint:sha-256 43:58:27:8A:EB:28:D4:8D:FD:73:B4:80:85:79:3D:0B:3D:60:21:79:64:D1:BC:1E:DB:A8:68:D4:C8:5D:F2:66\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"72e5ca2b-ec5f-4049-a5be-96cfb79e6279","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1360524313 1 udp 2113937151 5a267082-c5f8-4893-94b3-0ff067a6f00d.local 51501 typ host generation 0 ufrag AMJk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"72e5ca2b-ec5f-4049-a5be-96cfb79e6279","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2211625551 1 udp 2113937151 31237d3a-7c5f-4887-992a-46f86f6d901a.local 34833 typ host generation 0 ufrag EARG network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","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/a43a88fe-401b-4df9-bb9e-2843b98b7254' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a43a88fe-401b-4df9-bb9e-2843b98b7254","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"72e5ca2b-ec5f-4049-a5be-96cfb79e6279","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"72e5ca2b-ec5f-4049-a5be-96cfb79e6279","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6257c79f0e7186a7c47a83163bca4a57","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"72e5ca2b-ec5f-4049-a5be-96cfb79e6279","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":"6257c79f0e7186a7c47a83163bca4a57","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/72e5ca2b-ec5f-4049-a5be-96cfb79e6279"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254"}}},"level":"info","message":"received a callback","requestID":"6257c79f0e7186a7c47a83163bca4a57"} device-1 | {"device":"72e5ca2b-ec5f-4049-a5be-96cfb79e6279","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"6257c79f0e7186a7c47a83163bca4a57","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"6257c79f0e7186a7c47a83163bca4a57"} device-1 | {"data":{"peerconnection":"a43a88fe-401b-4df9-bb9e-2843b98b7254","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a43a88fe-401b-4df9-bb9e-2843b98b7254","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/a43a88fe-401b-4df9-bb9e-2843b98b7254' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a43a88fe-401b-4df9-bb9e-2843b98b7254","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6f1a7c9afd46f75a8167171829a3a461","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6f1a7c9afd46f75a8167171829a3a461","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/72e5ca2b-ec5f-4049-a5be-96cfb79e6279"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254"}}},"level":"info","message":"received a callback","requestID":"6f1a7c9afd46f75a8167171829a3a461"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ccab5e40-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa43a88fe-401b-4df9-bb9e-2843b98b7254","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47400f32-c1f6-473e-a20f-36e27e12c682","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841809.9604743} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.197507,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ccab5e40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254","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":"ccab5e40-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ccab5e40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254 200 8ms","method":"GET","requestID":"ccab5e40-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o","level":"info","message":"auth send jwt","requestID":"967916d89ea60d2580f752b1f3c2baa4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"967916d89ea60d2580f752b1f3c2baa4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf","requestID":"967916d89ea60d2580f752b1f3c2baa4"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.670213,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"967916d89ea60d2580f752b1f3c2baa4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841809,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgwOX0.LR5DnbtgnRs8tXJTtudRQoeilZknbSqXo1DKOciTN8o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"967916d89ea60d2580f752b1f3c2baa4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 55ms","method":"POST","requestID":"6f1a7c9afd46f75a8167171829a3a461","responseTime":55,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.058","http_referrer":"","http_user_agent":"node-fetch","requestID":"6f1a7c9afd46f75a8167171829a3a461"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ccb32670-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:30Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf","requestID":"967916d89ea60d2580f752b1f3c2baa4"} gateway-1 | {"time_local":"28/Apr/2025:12:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"967916d89ea60d2580f752b1f3c2baa4"} experiment-1 | {"level":"info","message":"GET /experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf 200 36ms","method":"GET","requestID":"967916d89ea60d2580f752b1f3c2baa4","responseTime":36,"status":200,"url":"/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8535a05-c1b6-42a9-8f13-377925888519","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.0361476} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.372163,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ccb32670-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMH0.mKYp8CKf-bCOKRDMz4Be-EeIVkWvy11xo_jKVT-vkAE","level":"info","message":"auth send jwt","requestID":"2c34cafc2fe15418aa288d9a310f1a3a"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ccb32670-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2c34cafc2fe15418aa288d9a310f1a3a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf","requestID":"2c34cafc2fe15418aa288d9a310f1a3a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ccb32670-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/signaling 200 35ms","method":"POST","requestID":"ccb32670-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.904949,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"2c34cafc2fe15418aa288d9a310f1a3a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841810,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMH0.mKYp8CKf-bCOKRDMz4Be-EeIVkWvy11xo_jKVT-vkAE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2c34cafc2fe15418aa288d9a310f1a3a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ccb8f2d0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6657e6aa-de2d-45aa-8666-2fef3aa289ae","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.0501373} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755322,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:30Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Attempting to finish experiment","requestID":"2c34cafc2fe15418aa288d9a310f1a3a"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ccb8f2d0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","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":"deletePeerconnectionsByPeerconnectionId called","requestID":"ccba0440-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ccb8f2d0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.899416,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:30Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ccb8f2d0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/signaling 200 36ms","method":"POST","requestID":"ccb8f2d0-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ccba0440-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841810,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMH0.mKYp8CKf-bCOKRDMz4Be-EeIVkWvy11xo_jKVT-vkAE"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"ccba0440-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254","device":"962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254","device":"72e5ca2b-ec5f-4049-a5be-96cfb79e6279","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/a43a88fe-401b-4df9-bb9e-2843b98b7254' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a43a88fe-401b-4df9-bb9e-2843b98b7254","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"18f361932e5b041eca252e49b0fb0578","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254"}}},"level":"info","message":"received a callback","requestID":"18f361932e5b041eca252e49b0fb0578"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"18f361932e5b041eca252e49b0fb0578","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ce7d30399362535de5b849f828374758","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa43a88fe-401b-4df9-bb9e-2843b98b7254': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa43a88fe-401b-4df9-bb9e-2843b98b7254","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"e975842d-9bd6-4135-a65c-ce10b6871c1e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.095414} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ce7d30399362535de5b849f828374758","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c630758-a733-4ff3-9ac9-e52dce8e5fdd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.0957887} 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/72e5ca2b-ec5f-4049-a5be-96cfb79e6279"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254"}}},"level":"info","message":"received a callback","requestID":"ce7d30399362535de5b849f828374758"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"ccba0440-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"a43a88fe-401b-4df9-bb9e-2843b98b7254","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ccba0440-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254 204 85ms","method":"DELETE","requestID":"ccba0440-2428-11f0-a0e6-516e7b85a777","responseTime":85,"status":204,"url":"/peerconnections/a43a88fe-401b-4df9-bb9e-2843b98b7254"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"},"level":"info","message":"Successfully finished experiment","requestID":"2c34cafc2fe15418aa288d9a310f1a3a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ccc91f70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72e5ca2b-ec5f-4049-a5be-96cfb79e6279","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47baec2e-b099-4596-9dc2-1d2935e0184b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.180256} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.267395,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ccc91f70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ccc91f70-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ccc91f70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/signaling 200 33ms","method":"POST","requestID":"ccc91f70-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ccce76a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3c81cc2-b225-4b55-af6e-4c1527863fbf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3c81cc2-b225-4b55-af6e-4c1527863fbf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"5130c483-5012-47cc-8db7-5f14ffb80a7f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.1894186} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7346a715-6e54-4b31-b8c0-e44b8b193dc1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.1908233} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"2c34cafc2fe15418aa288d9a310f1a3a","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce9a50a1-9691-4621-b8f6-2d2464ba3bee","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.1920743} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.447831,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ccce76a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ccce76a0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ccce76a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/signaling 200 10ms","method":"POST","requestID":"ccce76a0-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf","requestID":"2c34cafc2fe15418aa288d9a310f1a3a"} gateway-1 | {"time_local":"28/Apr/2025:12:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c34cafc2fe15418aa288d9a310f1a3a"} experiment-1 | {"level":"info","message":"DELETE /experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf 204 245ms","method":"DELETE","requestID":"2c34cafc2fe15418aa288d9a310f1a3a","responseTime":245,"status":204,"url":"/experiments/d3c81cc2-b225-4b55-af6e-4c1527863fbf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"18f361932e5b041eca252e49b0fb0578","responseTime":192,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"ce7d30399362535de5b849f828374758","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.194","http_referrer":"","http_user_agent":"node-fetch","requestID":"18f361932e5b041eca252e49b0fb0578"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"ce7d30399362535de5b849f828374758"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMH0.mKYp8CKf-bCOKRDMz4Be-EeIVkWvy11xo_jKVT-vkAE","level":"info","message":"auth send jwt","requestID":"35a950070f00535aeb2662c2d0e845ff"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"35a950070f00535aeb2662c2d0e845ff","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"35a950070f00535aeb2662c2d0e845ff"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:30Z"} gateway-1 | {"time_local":"28/Apr/2025:12:03:30 +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.113","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"02f5a8ef4a704810b7873cc5aacf2daf"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.956468,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"35a950070f00535aeb2662c2d0e845ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841810,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMH0.mKYp8CKf-bCOKRDMz4Be-EeIVkWvy11xo_jKVT-vkAE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"35a950070f00535aeb2662c2d0e845ff","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:03:30 +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.179","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e565a4508144549a6c76ef2956b6111c"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/72e5ca2b-ec5f-4049-a5be-96cfb79e6279' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/962b7b9a-e3ae-46ca-9d73-bf4d1e8f40a5' 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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3bd6ed23-4d23-4034-8454-3cae38189d8b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.3771596} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"35a950070f00535aeb2662c2d0e845ff","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99ae3582-a009-4d6f-9c60-c3dc07eb6281","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.3819256} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"35a950070f00535aeb2662c2d0e845ff","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"6f9b1547-9251-498a-9c71-505d629837d2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.3916378} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8da03613-0d29-4b04-a4b9-2f60801d002e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.391718} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"35a950070f00535aeb2662c2d0e845ff","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.391615101Z"}]},"request_id":"c302a4c4-67bf-490d-85fd-5bed588cb84b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.4206917} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"35a950070f00535aeb2662c2d0e845ff","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"35a950070f00535aeb2662c2d0e845ff"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.137","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"35a950070f00535aeb2662c2d0e845ff"} device-1 | {"level":"info","message":"POST /devices? 201 132ms","method":"POST","requestID":"35a950070f00535aeb2662c2d0e845ff","responseTime":132,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMH0.mKYp8CKf-bCOKRDMz4Be-EeIVkWvy11xo_jKVT-vkAE","level":"info","message":"auth send jwt","requestID":"678438302fc2c47aebdb996b077a4407"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"678438302fc2c47aebdb996b077a4407","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"678438302fc2c47aebdb996b077a4407"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.756853,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"678438302fc2c47aebdb996b077a4407","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841810,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMH0.mKYp8CKf-bCOKRDMz4Be-EeIVkWvy11xo_jKVT-vkAE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"678438302fc2c47aebdb996b077a4407","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d4269123-1140-439a-9307-71c10f05e520","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.4679015} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"678438302fc2c47aebdb996b077a4407","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc502ef1-3076-4cda-9c47-037413ac6182","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.4726815} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"678438302fc2c47aebdb996b077a4407","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"7f377f2f-8439-4ad1-a090-585f7ae5e8d6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.4851418} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76f89270-570d-46f2-98ef-1cf6f42d15c9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.4853172} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"678438302fc2c47aebdb996b077a4407","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.485126016Z"}]},"request_id":"94941caf-7b1a-4857-a7a3-188ad78aba35","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841810.5132067} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"678438302fc2c47aebdb996b077a4407","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"678438302fc2c47aebdb996b077a4407"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"678438302fc2c47aebdb996b077a4407"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"678438302fc2c47aebdb996b077a4407","responseTime":88,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMX0.1ATS4UNaWOcdvsAer-GdfJ5TUWH86sBd9s7G_0ZDreo","level":"info","message":"auth send jwt","requestID":"b43bda53daf9931284453264f0052ca3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b43bda53daf9931284453264f0052ca3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b43bda53daf9931284453264f0052ca3"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897806,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"b43bda53daf9931284453264f0052ca3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841811,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMX0.1ATS4UNaWOcdvsAer-GdfJ5TUWH86sBd9s7G_0ZDreo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b43bda53daf9931284453264f0052ca3","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.391615101Z"}]},"request_id":"3488a01f-f55f-4890-9a62-aa885aa78669","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841811.5440483} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"b43bda53daf9931284453264f0052ca3","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77c3955e-b962-4092-aa59-cc3d3ed31ff6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841811.5763037} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b43bda53daf9931284453264f0052ca3","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.391615101Z"}]},"request_id":"a0f1db82-87ff-4824-8082-8576af170423","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841811.5899541} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b43bda53daf9931284453264f0052ca3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b43bda53daf9931284453264f0052ca3"} gateway-1 | {"time_local":"28/Apr/2025:12:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b43bda53daf9931284453264f0052ca3"} device-1 | {"level":"info","message":"PATCH /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef 200 58ms","method":"PATCH","requestID":"b43bda53daf9931284453264f0052ca3","responseTime":58,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMX0.1ATS4UNaWOcdvsAer-GdfJ5TUWH86sBd9s7G_0ZDreo","level":"info","message":"auth send jwt","requestID":"505a1c6afb869fef17585776b2419629"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"505a1c6afb869fef17585776b2419629","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"505a1c6afb869fef17585776b2419629"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925344,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"505a1c6afb869fef17585776b2419629","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841811,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMX0.1ATS4UNaWOcdvsAer-GdfJ5TUWH86sBd9s7G_0ZDreo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"505a1c6afb869fef17585776b2419629","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"505a1c6afb869fef17585776b2419629"} gateway-1 | {"time_local":"28/Apr/2025:12:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"505a1c6afb869fef17585776b2419629"} device-1 | {"level":"info","message":"POST /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/websocket 200 16ms","method":"POST","requestID":"505a1c6afb869fef17585776b2419629","responseTime":16,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bd4bfe24dc439ef1445760ba5b4223c7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bd4bfe24dc439ef1445760ba5b4223c7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3431243f-d4be-41a0-8c1a-794855ddbd77/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.024","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bd4bfe24dc439ef1445760ba5b4223c7"} device-1 | {"level":"info","message":"OPTIONS /devices/3431243f-d4be-41a0-8c1a-794855ddbd77/websocket 200 1ms","method":"OPTIONS","requestID":"bd4bfe24dc439ef1445760ba5b4223c7","responseTime":1,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas","level":"info","message":"auth send jwt","requestID":"bb38204e8b6f27a04e4e553f0968384c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bb38204e8b6f27a04e4e553f0968384c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bb38204e8b6f27a04e4e553f0968384c"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890187,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bb38204e8b6f27a04e4e553f0968384c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841812,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bb38204e8b6f27a04e4e553f0968384c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bb38204e8b6f27a04e4e553f0968384c"} device-1 | {"level":"info","message":"POST /devices/3431243f-d4be-41a0-8c1a-794855ddbd77/websocket 200 15ms","method":"POST","requestID":"bb38204e8b6f27a04e4e553f0968384c","responseTime":15,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3431243f-d4be-41a0-8c1a-794855ddbd77/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bb38204e8b6f27a04e4e553f0968384c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas","level":"info","message":"auth send jwt","requestID":"f7a969b06e9979c382d1282d2231f30d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f7a969b06e9979c382d1282d2231f30d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7a969b06e9979c382d1282d2231f30d"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681052,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f7a969b06e9979c382d1282d2231f30d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841812,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f7a969b06e9979c382d1282d2231f30d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.391615101Z"}]},"request_id":"fb1880ac-0b1d-4b71-bd9f-4fe0e24fff04","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841812.9352002} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f7a969b06e9979c382d1282d2231f30d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7a969b06e9979c382d1282d2231f30d"} device-1 | {"level":"info","message":"GET /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef? 200 33ms","method":"GET","requestID":"f7a969b06e9979c382d1282d2231f30d","responseTime":33,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7a969b06e9979c382d1282d2231f30d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas","level":"info","message":"auth send jwt","requestID":"645d6d8eaa4192dc9cf2992f9d763653"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"645d6d8eaa4192dc9cf2992f9d763653","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"645d6d8eaa4192dc9cf2992f9d763653"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712891,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"645d6d8eaa4192dc9cf2992f9d763653","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841812,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"645d6d8eaa4192dc9cf2992f9d763653","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.485126016Z"}]},"request_id":"139d8d3a-6160-4288-b94f-a9c92f368d4f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841812.9732702} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"645d6d8eaa4192dc9cf2992f9d763653","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"645d6d8eaa4192dc9cf2992f9d763653"} gateway-1 | {"time_local":"28/Apr/2025:12:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3431243f-d4be-41a0-8c1a-794855ddbd77? 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":"645d6d8eaa4192dc9cf2992f9d763653"} device-1 | {"level":"info","message":"GET /devices/3431243f-d4be-41a0-8c1a-794855ddbd77? 200 10ms","method":"GET","requestID":"645d6d8eaa4192dc9cf2992f9d763653","responseTime":10,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas","level":"info","message":"auth send jwt","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.977084,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841812,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d","responseTime":25,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Attempting to run experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Attempting to book experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Successfully booked experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce874a30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce877140-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645633,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ce874a30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841812,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ce874a30-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.453693,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ce877140-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841812,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"ce877140-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.391615101Z"}]},"request_id":"22079024-067c-4972-812a-b239195219d1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.1070797} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ce874a30-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.485126016Z"}]},"request_id":"31dd5dc0-018f-4c2d-8298-f02d08979532","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.1077745} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ce877140-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce874a30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef? 200 36ms","method":"GET","requestID":"ce874a30-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce877140-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/3431243f-d4be-41a0-8c1a-794855ddbd77? 200 36ms","method":"GET","requestID":"ce877140-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Setting up experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Successfully set up experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce963e50-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce968c70-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Successfully running experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657895,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ce963e50-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841812,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ce963e50-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.551677,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce9b2050-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ce968c70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841812,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"ce968c70-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"717701c8-704d-4520-9a0e-5bedb9f3a88d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.2098665} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.910967,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ce9b2050-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","rebac_allow":false,"scope_allow":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":"ce9b2050-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.391615101Z"}]},"request_id":"aad65224-df92-4a53-8b88-39d70fe7e5b5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.211766} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.485126016Z"}]},"request_id":"3dd4aa20-e869-4a71-84af-d49d5293b957","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.21251} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ce963e50-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ce968c70-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce9b2050-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/signaling 200 13ms","method":"POST","requestID":"ce9b2050-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce963e50-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef? 200 46ms","method":"GET","requestID":"ce963e50-2428-11f0-a0e6-516e7b85a777","responseTime":46,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c821961-2adc-4e83-968f-34947b2060d4#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c821961-2adc-4e83-968f-34947b2060d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"c9adaef6-1de6-4300-8931-d5f5db0a286e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.2189693} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a002e8b-13d5-4cb5-8852-1d45aadd72e3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.219194} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce968c70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/3431243f-d4be-41a0-8c1a-794855ddbd77? 200 45ms","method":"GET","requestID":"ce968c70-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce9d9150-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce9db860-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbaf2842-cc48-486e-9c72-0f31774f2181","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.225534} authorization-1 | {"client_addr":"127.0.0.1:41302","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.632023,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ce9d9150-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ce9d9150-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d7dc1ab-91d8-44dd-877f-4f2eb50799cb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.2263515} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.710677,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ce9db860-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","rebac_allow":false,"scope_allow":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":"ce9db860-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce9d9150-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3431243f-d4be-41a0-8c1a-794855ddbd77/signaling 200 35ms","method":"POST","requestID":"ce9d9150-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce9db860-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/signaling 200 34ms","method":"POST","requestID":"ce9db860-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cea3abd0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} gateway-1 | {"time_local":"28/Apr/2025:12:03:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.284","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 280ms","method":"POST","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d","responseTime":280,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6934bddc-17e0-45c3-965f-852e2cb5ec7d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.265506} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxM30.GyRTKKaFUUTX9w5rJG-ktgH4sIj6ptvI3TJigjV1STM","level":"info","message":"auth send jwt","requestID":"7b55c8a8a99a20f477796547c05253a2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7b55c8a8a99a20f477796547c05253a2","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.864671,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7b55c8a8a99a20f477796547c05253a2"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cea3abd0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cea3abd0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771544,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cea3abd0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3431243f-d4be-41a0-8c1a-794855ddbd77/signaling 200 9ms","method":"POST","requestID":"cea3abd0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7b55c8a8a99a20f477796547c05253a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841813,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxM30.GyRTKKaFUUTX9w5rJG-ktgH4sIj6ptvI3TJigjV1STM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7b55c8a8a99a20f477796547c05253a2","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Building connection plan","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1be94d55-706f-45e1-8c01-6e7a4b8deb33"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"659d5854-47d4-4be8-9b5a-58cdaa240ab8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"897cea9c-af83-452f-8c9b-331f83bdd014"}]},"level":"info","message":"Built pairwise service configurations","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.391615101Z"}]},"request_id":"10246eae-3176-4ac4-b85c-b43a9b1f7513","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.2741988} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7b55c8a8a99a20f477796547c05253a2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7b55c8a8a99a20f477796547c05253a2"} gateway-1 | {"time_local":"28/Apr/2025:12:03:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef? 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":"7b55c8a8a99a20f477796547c05253a2"} device-1 | {"level":"info","message":"GET /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef? 200 35ms","method":"GET","requestID":"7b55c8a8a99a20f477796547c05253a2","responseTime":35,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cea9ed60-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.86744,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cea9ed60-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841812,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxMn0.Mw0Z_nksGMGHr5zYrA_SQ_tEtWcoFplpkQx3mLUjqas"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cea9ed60-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxM30.GyRTKKaFUUTX9w5rJG-ktgH4sIj6ptvI3TJigjV1STM","level":"info","message":"auth send jwt","requestID":"0f92bedb64a1c50236e3e49c86b6b328"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0f92bedb64a1c50236e3e49c86b6b328","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0f92bedb64a1c50236e3e49c86b6b328"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.722428,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0f92bedb64a1c50236e3e49c86b6b328","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841813,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxM30.GyRTKKaFUUTX9w5rJG-ktgH4sIj6ptvI3TJigjV1STM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0f92bedb64a1c50236e3e49c86b6b328","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"827f75ba-7374-44ce-a86e-9216b3a9df3b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.318361} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1fb8124-7841-417c-a401-3b87364aac4b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.3185296} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"cea9ed60-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:30.485126016Z"}]},"request_id":"05cd06d0-af6b-47de-a39d-ded327553fc5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.3196244} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"0f92bedb64a1c50236e3e49c86b6b328","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0f92bedb64a1c50236e3e49c86b6b328"} gateway-1 | {"time_local":"28/Apr/2025:12:03:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3431243f-d4be-41a0-8c1a-794855ddbd77? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f92bedb64a1c50236e3e49c86b6b328"} device-1 | {"level":"info","message":"GET /devices/3431243f-d4be-41a0-8c1a-794855ddbd77? 200 42ms","method":"GET","requestID":"0f92bedb64a1c50236e3e49c86b6b328","responseTime":42,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cea9ed60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cea9ed60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d'","requestID":"cea9ed60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d'","requestID":"cea9ed60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cea9ed60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 93ms","method":"POST","requestID":"cea9ed60-2428-11f0-a0e6-516e7b85a777","responseTime":93,"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":"cea9ed60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d","device":"3431243f-d4be-41a0-8c1a-794855ddbd77","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 | {"device":"3431243f-d4be-41a0-8c1a-794855ddbd77","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"3431243f-d4be-41a0-8c1a-794855ddbd77","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"cddb17bf7e8fcfd5c90aaaa67a5e887d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cec27e70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b95778f2-bb2e-4148-8748-93fe25bb5c6a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.492296} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.469557,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cec27e70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","rebac_allow":false,"scope_allow":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":"cec27e70-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cec27e70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/signaling 200 33ms","method":"POST","requestID":"cec27e70-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cec7d5a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92e24df1-5a68-405f-9a93-509869d5acaa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841813.5022352} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.362658,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cec7d5a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cec7d5a0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cec7d5a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3431243f-d4be-41a0-8c1a-794855ddbd77/signaling 200 8ms","method":"POST","requestID":"cec7d5a0-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77/signaling"} device-1 | {"device":"bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","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":"5ded2288-c4f6-4f71-825f-054033daf69d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3344343858992814210 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:I029\r\na=ice-pwd:0Gb26BBGZlaSLeMfAqnIhhQX\r\na=ice-options:trickle\r\na=fingerprint:sha-256 02:B4:E5:7A:28:5D:73:30:50:26:A9:0C:4C:86:DC:48:79:DA:A4:E4:6C:B6:10:28:98:00:F8:62:35:19:4C:1C\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"3431243f-d4be-41a0-8c1a-794855ddbd77","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4078300957 1 udp 2113937151 8756ef49-844f-4be2-9d73-3321d56263b1.local 42253 typ host generation 0 ufrag I029 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3431243f-d4be-41a0-8c1a-794855ddbd77","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"3431243f-d4be-41a0-8c1a-794855ddbd77","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/3431243f-d4be-41a0-8c1a-794855ddbd77'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5ded2288-c4f6-4f71-825f-054033daf69d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3431243f-d4be-41a0-8c1a-794855ddbd77","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","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":"bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","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":"bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","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"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"24af345381b4eb37564cccad7e46a15c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"24af345381b4eb37564cccad7e46a15c","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/3431243f-d4be-41a0-8c1a-794855ddbd77"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d"}}},"level":"info","message":"received a callback","requestID":"24af345381b4eb37564cccad7e46a15c"} device-1 | {"device":"bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","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"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"24af345381b4eb37564cccad7e46a15c","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"24af345381b4eb37564cccad7e46a15c"} device-1 | {"device":"3431243f-d4be-41a0-8c1a-794855ddbd77","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","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":"3431243f-d4be-41a0-8c1a-794855ddbd77","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"5ded2288-c4f6-4f71-825f-054033daf69d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5ded2288-c4f6-4f71-825f-054033daf69d","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/5ded2288-c4f6-4f71-825f-054033daf69d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5ded2288-c4f6-4f71-825f-054033daf69d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b5def8c5a482b2b9da6f75cdb7f39636","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b5def8c5a482b2b9da6f75cdb7f39636","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/3431243f-d4be-41a0-8c1a-794855ddbd77"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d"}}},"level":"info","message":"received a callback","requestID":"b5def8c5a482b2b9da6f75cdb7f39636"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cffde4a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5ded2288-c4f6-4f71-825f-054033daf69d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bb5395f-f196-4f1f-81c2-a9b556ea6060","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841815.5597749} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.793024,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cffde4a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d","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":"cffde4a0-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cffde4a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d 200 34ms","method":"GET","requestID":"cffde4a0-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 53ms","method":"POST","requestID":"b5def8c5a482b2b9da6f75cdb7f39636","responseTime":53,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.057","http_referrer":"","http_user_agent":"node-fetch","requestID":"b5def8c5a482b2b9da6f75cdb7f39636"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d00585c0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3fb6e78-9e1f-422a-ba90-a9036043b274","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841815.6066446} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.377603,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d00585c0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d00585c0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d00585c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3431243f-d4be-41a0-8c1a-794855ddbd77/signaling 200 31ms","method":"POST","requestID":"d00585c0-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d00ab5e0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e16efc19-77f9-4f23-93cc-8ebc4d3ffaa5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841815.6190631} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.571545,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d00ab5e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d00ab5e0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d00ab5e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/signaling 200 9ms","method":"POST","requestID":"d00ab5e0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxNX0.cgj_qEa7sw09EgkTu_iExwISRmcTX-jCjbnNyP8B7XM","level":"info","message":"auth send jwt","requestID":"468cca0ccb800c950912d962ea222286"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"468cca0ccb800c950912d962ea222286","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6c821961-2adc-4e83-968f-34947b2060d4","requestID":"468cca0ccb800c950912d962ea222286"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.70333,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"468cca0ccb800c950912d962ea222286","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841815,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxNX0.cgj_qEa7sw09EgkTu_iExwISRmcTX-jCjbnNyP8B7XM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"468cca0ccb800c950912d962ea222286","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6c821961-2adc-4e83-968f-34947b2060d4","requestID":"468cca0ccb800c950912d962ea222286"} gateway-1 | {"time_local":"28/Apr/2025:12:03:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6c821961-2adc-4e83-968f-34947b2060d4 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"468cca0ccb800c950912d962ea222286"} experiment-1 | {"level":"info","message":"GET /experiments/6c821961-2adc-4e83-968f-34947b2060d4 200 9ms","method":"GET","requestID":"468cca0ccb800c950912d962ea222286","responseTime":9,"status":200,"url":"/experiments/6c821961-2adc-4e83-968f-34947b2060d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxNX0.cgj_qEa7sw09EgkTu_iExwISRmcTX-jCjbnNyP8B7XM","level":"info","message":"auth send jwt","requestID":"d78a630e12681b9afaa96fb4ad4a9280"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d78a630e12681b9afaa96fb4ad4a9280","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6c821961-2adc-4e83-968f-34947b2060d4","requestID":"d78a630e12681b9afaa96fb4ad4a9280"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.696111,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d78a630e12681b9afaa96fb4ad4a9280","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841815,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxNX0.cgj_qEa7sw09EgkTu_iExwISRmcTX-jCjbnNyP8B7XM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d78a630e12681b9afaa96fb4ad4a9280","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Attempting to finish experiment","requestID":"d78a630e12681b9afaa96fb4ad4a9280"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d026a250-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.200185,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d026a250-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841815,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxNX0.cgj_qEa7sw09EgkTu_iExwISRmcTX-jCjbnNyP8B7XM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d026a250-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d","device":"3431243f-d4be-41a0-8c1a-794855ddbd77","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","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":"bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","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":"bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","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"}} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5ded2288-c4f6-4f71-825f-054033daf69d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5ded2288-c4f6-4f71-825f-054033daf69d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"6978b3d4-4fd2-4e5d-a074-5a50de51527b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841815.8138316} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5ded2288-c4f6-4f71-825f-054033daf69d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2a3d841-68b7-4bdc-b7b6-28fd3aa390d0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841815.814198} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"d026a250-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"22f8fc2dc25a356d2cefa04f2338f618","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"22f8fc2dc25a356d2cefa04f2338f618","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d"}}},"level":"info","message":"received a callback","requestID":"22f8fc2dc25a356d2cefa04f2338f618"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d026a250-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2cfb58d7a545ba21191b13968b621c3a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/5ded2288-c4f6-4f71-825f-054033daf69d 204 47ms","method":"DELETE","requestID":"d026a250-2428-11f0-a0e6-516e7b85a777","responseTime":47,"status":204,"url":"/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2cfb58d7a545ba21191b13968b621c3a","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/3431243f-d4be-41a0-8c1a-794855ddbd77"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5ded2288-c4f6-4f71-825f-054033daf69d"}}},"level":"info","message":"received a callback","requestID":"2cfb58d7a545ba21191b13968b621c3a"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c821961-2adc-4e83-968f-34947b2060d4"},"level":"info","message":"Successfully finished experiment","requestID":"d78a630e12681b9afaa96fb4ad4a9280"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d034ac10-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3431243f-d4be-41a0-8c1a-794855ddbd77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e0fb692-93fe-480d-b423-b8581b49bddd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841815.8935382} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.259976,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d034ac10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d034ac10-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d034ac10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3431243f-d4be-41a0-8c1a-794855ddbd77/signaling 200 8ms","method":"POST","requestID":"d034ac10-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/3431243f-d4be-41a0-8c1a-794855ddbd77/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d03632b0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c821961-2adc-4e83-968f-34947b2060d4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c821961-2adc-4e83-968f-34947b2060d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"794557e9-f83b-4b5e-b2fe-015add21923f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841815.900587} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b924b692-4f86-4e73-a97b-e2904c525136","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841815.9010384} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"d78a630e12681b9afaa96fb4ad4a9280","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdd6c22b-c34c-48cd-9db2-814fd4ec3eef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"003088e5-f223-45e8-943d-c1f5caf25123","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841815.9035873} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.279782,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d03632b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d03632b0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d03632b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/signaling 200 9ms","method":"POST","requestID":"d03632b0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6c821961-2adc-4e83-968f-34947b2060d4","requestID":"d78a630e12681b9afaa96fb4ad4a9280"} gateway-1 | {"time_local":"28/Apr/2025:12:03:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6c821961-2adc-4e83-968f-34947b2060d4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d78a630e12681b9afaa96fb4ad4a9280"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.357","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"37d8a5465118e46c5d9d3ad37330094f"} experiment-1 | {"level":"info","message":"DELETE /experiments/6c821961-2adc-4e83-968f-34947b2060d4 204 234ms","method":"DELETE","requestID":"d78a630e12681b9afaa96fb4ad4a9280","responseTime":234,"status":204,"url":"/experiments/6c821961-2adc-4e83-968f-34947b2060d4"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bdd6c22b-c34c-48cd-9db2-814fd4ec3eef' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"22f8fc2dc25a356d2cefa04f2338f618","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.182","http_referrer":"","http_user_agent":"node-fetch","requestID":"22f8fc2dc25a356d2cefa04f2338f618"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"2cfb58d7a545ba21191b13968b621c3a","responseTime":151,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxNn0.E4PwjKm0b-MqvUvJvAr6-Drv_K43AWtRhpAJXPD4974","level":"info","message":"auth send jwt","requestID":"a05a31754fac1fb3a920ef32e135afe2"} gateway-1 | {"time_local":"28/Apr/2025:12:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"2cfb58d7a545ba21191b13968b621c3a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a05a31754fac1fb3a920ef32e135afe2","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.736786,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:36Z"} device-1 | {"level":"info","message":"postDevices called","requestID":"a05a31754fac1fb3a920ef32e135afe2"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a05a31754fac1fb3a920ef32e135afe2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841816,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxNn0.E4PwjKm0b-MqvUvJvAr6-Drv_K43AWtRhpAJXPD4974"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a05a31754fac1fb3a920ef32e135afe2","responseTime":27,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:03:36 +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.117","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8ab397049f277f36790c56edb1dca538"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3431243f-d4be-41a0-8c1a-794855ddbd77' 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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"824f8fda-ce6c-45d3-97e0-66b4bc27c0c0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841816.048848} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a05a31754fac1fb3a920ef32e135afe2","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14a886b1-ebac-49d5-9a42-d4abc59e1ffe","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841816.0538647} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a05a31754fac1fb3a920ef32e135afe2","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"442803fe-f3d2-4a81-9135-33cab81e34c7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841816.0926733} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"526d3750-bc53-4627-a7c5-893f7c6d56b9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841816.09301} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"a05a31754fac1fb3a920ef32e135afe2","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:36.092649630Z"}]},"request_id":"ddf714df-1dd1-4cbf-b3e0-7bf9b3621268","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841816.0975149} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a05a31754fac1fb3a920ef32e135afe2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a05a31754fac1fb3a920ef32e135afe2"} gateway-1 | {"time_local":"28/Apr/2025:12:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a05a31754fac1fb3a920ef32e135afe2"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"a05a31754fac1fb3a920ef32e135afe2","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxNn0.E4PwjKm0b-MqvUvJvAr6-Drv_K43AWtRhpAJXPD4974","level":"info","message":"auth send jwt","requestID":"f5014096bc1b770c9bb2bcd05da6776e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f5014096bc1b770c9bb2bcd05da6776e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f5014096bc1b770c9bb2bcd05da6776e"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.902628,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f5014096bc1b770c9bb2bcd05da6776e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841816,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxNn0.E4PwjKm0b-MqvUvJvAr6-Drv_K43AWtRhpAJXPD4974"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f5014096bc1b770c9bb2bcd05da6776e","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5b29ebfc-f6dd-4986-b19d-89868c2557c6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841816.1441886} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f5014096bc1b770c9bb2bcd05da6776e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26eba544-e345-4f65-8afa-4d70d1f3ddca","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841816.1487105} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f5014096bc1b770c9bb2bcd05da6776e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"920f92a2-fcc8-4773-a40c-b94680a0573f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841816.182639} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98d123d7-1880-4775-8e08-9ddf878f243a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841816.1829548} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"f5014096bc1b770c9bb2bcd05da6776e","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:36.182617679Z"}]},"request_id":"66ddbed0-a685-407d-87e3-93071d2d511c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841816.1871731} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f5014096bc1b770c9bb2bcd05da6776e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f5014096bc1b770c9bb2bcd05da6776e"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"f5014096bc1b770c9bb2bcd05da6776e","responseTime":60,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5014096bc1b770c9bb2bcd05da6776e"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"538fcb12ee3e8936ca0fdbf48faa402b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"538fcb12ee3e8936ca0fdbf48faa402b","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1872ad90ecb98820b376db342d860fcb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1872ad90ecb98820b376db342d860fcb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/124fae04-481b-43cd-86a0-a27de7470795/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":"538fcb12ee3e8936ca0fdbf48faa402b"} device-1 | {"level":"info","message":"OPTIONS /devices/124fae04-481b-43cd-86a0-a27de7470795/websocket 200 1ms","method":"OPTIONS","requestID":"538fcb12ee3e8936ca0fdbf48faa402b","responseTime":1,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:03:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/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":"1872ad90ecb98820b376db342d860fcb"} device-1 | {"level":"info","message":"OPTIONS /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/websocket 200 0ms","method":"OPTIONS","requestID":"1872ad90ecb98820b376db342d860fcb","responseTime":0,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk","level":"info","message":"auth send jwt","requestID":"b1501c4a3417ae681f534cb7083c424e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b1501c4a3417ae681f534cb7083c424e","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk","level":"info","message":"auth send jwt","requestID":"c817256e2321162f2001e078abfcca4b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b1501c4a3417ae681f534cb7083c424e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c817256e2321162f2001e078abfcca4b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c817256e2321162f2001e078abfcca4b"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726818,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"b1501c4a3417ae681f534cb7083c424e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b1501c4a3417ae681f534cb7083c424e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.037692,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c817256e2321162f2001e078abfcca4b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c817256e2321162f2001e078abfcca4b","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c817256e2321162f2001e078abfcca4b"} gateway-1 | {"time_local":"28/Apr/2025:12:03:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/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":"c817256e2321162f2001e078abfcca4b"} device-1 | {"level":"info","message":"POST /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/websocket 200 45ms","method":"POST","requestID":"c817256e2321162f2001e078abfcca4b","responseTime":45,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b1501c4a3417ae681f534cb7083c424e"} gateway-1 | {"time_local":"28/Apr/2025:12:03:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/124fae04-481b-43cd-86a0-a27de7470795/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":"b1501c4a3417ae681f534cb7083c424e"} device-1 | {"level":"info","message":"POST /devices/124fae04-481b-43cd-86a0-a27de7470795/websocket 200 49ms","method":"POST","requestID":"b1501c4a3417ae681f534cb7083c424e","responseTime":49,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk","level":"info","message":"auth send jwt","requestID":"130cdec24d55172a84620c4d67e6f648"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"130cdec24d55172a84620c4d67e6f648","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"130cdec24d55172a84620c4d67e6f648"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643682,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"130cdec24d55172a84620c4d67e6f648","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"130cdec24d55172a84620c4d67e6f648","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:36.092649630Z"}]},"request_id":"a6fcc7ea-0e6f-4770-8202-f755f1d77a3e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.684152} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"130cdec24d55172a84620c4d67e6f648","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"130cdec24d55172a84620c4d67e6f648"} gateway-1 | {"time_local":"28/Apr/2025:12:03:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/124fae04-481b-43cd-86a0-a27de7470795? 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":"130cdec24d55172a84620c4d67e6f648"} device-1 | {"level":"info","message":"GET /devices/124fae04-481b-43cd-86a0-a27de7470795? 200 10ms","method":"GET","requestID":"130cdec24d55172a84620c4d67e6f648","responseTime":10,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk","level":"info","message":"auth send jwt","requestID":"8772f24d7722ff5bd090e6ab21bd2528"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8772f24d7722ff5bd090e6ab21bd2528","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8772f24d7722ff5bd090e6ab21bd2528"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68327,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8772f24d7722ff5bd090e6ab21bd2528","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8772f24d7722ff5bd090e6ab21bd2528","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:36.182617679Z"}]},"request_id":"57188f59-080b-46c1-808d-a8536bc96889","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.7221792} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"8772f24d7722ff5bd090e6ab21bd2528","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8772f24d7722ff5bd090e6ab21bd2528"} gateway-1 | {"time_local":"28/Apr/2025:12:03:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a? 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":"8772f24d7722ff5bd090e6ab21bd2528"} device-1 | {"level":"info","message":"GET /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a? 200 33ms","method":"GET","requestID":"8772f24d7722ff5bd090e6ab21bd2528","responseTime":33,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk","level":"info","message":"auth send jwt","requestID":"709e12a01a2af862d3eab613a13480af"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"709e12a01a2af862d3eab613a13480af","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"709e12a01a2af862d3eab613a13480af"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.860177,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"709e12a01a2af862d3eab613a13480af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"709e12a01a2af862d3eab613a13480af","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Attempting to run experiment","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Attempting to book experiment","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Successfully booked experiment","requestID":"709e12a01a2af862d3eab613a13480af"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d1ee6a00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d1ee9110-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941821,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d1ee6a00-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d1ee6a00-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884489,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d1ee9110-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d1ee9110-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:36.092649630Z"}]},"request_id":"80f9297e-53c0-40dd-8e45-831e59e8350e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.792598} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"d1ee6a00-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:36.182617679Z"}]},"request_id":"a7216e74-c781-4fb4-b3fa-720131702a56","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.8181276} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"d1ee9110-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d1ee6a00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/124fae04-481b-43cd-86a0-a27de7470795? 200 38ms","method":"GET","requestID":"d1ee6a00-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d1ee9110-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a? 200 38ms","method":"GET","requestID":"d1ee9110-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Setting up experiment","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Successfully locked booking for experiment","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Attempting to update booking for experiment","requestID":"709e12a01a2af862d3eab613a13480af"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2028e40-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Successfully updated booking for experiment","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Successfully set up experiment","requestID":"709e12a01a2af862d3eab613a13480af"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d202b550-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2030370-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727381,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d2028e40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Successfully running experiment","requestID":"709e12a01a2af862d3eab613a13480af"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d2028e40-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679874,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d202b550-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d202b550-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a76a304-3a56-4431-bcb4-04b17135ebb8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.9254994} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:36.092649630Z"}]},"request_id":"242ca5fb-6ba7-4de0-941e-7c0a512f9c58","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.9268594} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.647007,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d2030370-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","object_type":"device","rebac_allow":false,"scope_allow":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":"d2030370-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:36.182617679Z"}]},"request_id":"41ea5853-706a-47f4-90ec-fd2eb45795ec","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.9280877} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d2028e40-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d202b550-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2030370-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4d8383c-fa11-4a52-ba26-80094fc23224#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4d8383c-fa11-4a52-ba26-80094fc23224","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"f4f7fe7a-8c38-4565-9335-26a9f8472d3a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.9350708} device-1 | {"level":"info","message":"POST /devices/124fae04-481b-43cd-86a0-a27de7470795/signaling 200 16ms","method":"POST","requestID":"d2030370-2428-11f0-a0e6-516e7b85a777","responseTime":16,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2028e40-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d140861-8062-415b-9ee3-2e2afcc2e7d6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.9354277} device-1 | {"level":"info","message":"GET /devices/124fae04-481b-43cd-86a0-a27de7470795? 200 45ms","method":"GET","requestID":"d2028e40-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d202b550-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"709e12a01a2af862d3eab613a13480af","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a? 200 45ms","method":"GET","requestID":"d202b550-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2099320-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53c1b0c5-81c3-405f-a09a-c23d55280202","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.9673538} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d20a5670-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.682854,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d2099320-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d2099320-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"709e12a01a2af862d3eab613a13480af"} gateway-1 | {"time_local":"28/Apr/2025:12:03:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.244","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"level":"info","message":"POST /experiments? 201 240ms","method":"POST","requestID":"709e12a01a2af862d3eab613a13480af","responseTime":240,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2099320-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/signaling 200 12ms","method":"POST","requestID":"d2099320-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk","level":"info","message":"auth send jwt","requestID":"e2b5830b6bf4d544c31e97bd9e5df3ff"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4fa6b492-005c-43b7-bd77-b44e401d89c6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841818.9760778} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e2b5830b6bf4d544c31e97bd9e5df3ff","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.527063,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e2b5830b6bf4d544c31e97bd9e5df3ff"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d20a5670-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","object_type":"device","rebac_allow":false,"scope_allow":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":"d20a5670-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:38Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.02548,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d20a5670-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/124fae04-481b-43cd-86a0-a27de7470795/signaling 200 15ms","method":"POST","requestID":"d20a5670-2428-11f0-a0e6-516e7b85a777","responseTime":15,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e2b5830b6bf4d544c31e97bd9e5df3ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e2b5830b6bf4d544c31e97bd9e5df3ff","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d210bf10-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:36.092649630Z"}]},"request_id":"c4d09494-251f-4a3d-b15c-e72049fc7a1c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.0104277} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"e2b5830b6bf4d544c31e97bd9e5df3ff","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e2b5830b6bf4d544c31e97bd9e5df3ff"} gateway-1 | {"time_local":"28/Apr/2025:12:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/124fae04-481b-43cd-86a0-a27de7470795? 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":"e2b5830b6bf4d544c31e97bd9e5df3ff"} device-1 | {"level":"info","message":"GET /devices/124fae04-481b-43cd-86a0-a27de7470795? 200 37ms","method":"GET","requestID":"e2b5830b6bf4d544c31e97bd9e5df3ff","responseTime":37,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eeb001bd-e578-4ede-90ae-40e034733a1c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.0166047} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.604902,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOX0.bfL7Zb9cUPv7a8OvIVxlguOsmdLnTt3GoC2PV7m7_kg","level":"info","message":"auth send jwt","requestID":"5d4bed25391b9f18e2f503b6ce9981b4"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d210bf10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","object_type":"device","rebac_allow":false,"scope_allow":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":"d210bf10-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5d4bed25391b9f18e2f503b6ce9981b4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5d4bed25391b9f18e2f503b6ce9981b4"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d210bf10-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863876,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} device-1 | {"level":"info","message":"POST /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/signaling 200 15ms","method":"POST","requestID":"d210bf10-2428-11f0-a0e6-516e7b85a777","responseTime":15,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5d4bed25391b9f18e2f503b6ce9981b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841819,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOX0.bfL7Zb9cUPv7a8OvIVxlguOsmdLnTt3GoC2PV7m7_kg"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Building connection plan","requestID":"709e12a01a2af862d3eab613a13480af"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"7bd5fc2c-5d2e-4324-b6e6-e1e0a169570f"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"058bba37-8479-4b2f-8c6f-1e6765bb88be"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"4db4eaea-8f47-455c-a785-8a31e408745c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"709e12a01a2af862d3eab613a13480af"} 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/124fae04-481b-43cd-86a0-a27de7470795"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"709e12a01a2af862d3eab613a13480af"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5d4bed25391b9f18e2f503b6ce9981b4","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d213a540-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:36.182617679Z"}]},"request_id":"d61b0c01-d0e8-4970-b8b6-a52307e95de1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.0302713} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5d4bed25391b9f18e2f503b6ce9981b4","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.707456,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d213a540-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841818,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOH0.PjiZ3VjbDaz7P-PN7FR5XbJ3oHKSc9URjdJDNPvNcTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"d213a540-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5d4bed25391b9f18e2f503b6ce9981b4"} gateway-1 | {"time_local":"28/Apr/2025:12:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a? 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":"5d4bed25391b9f18e2f503b6ce9981b4"} device-1 | {"level":"info","message":"GET /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a? 200 41ms","method":"GET","requestID":"5d4bed25391b9f18e2f503b6ce9981b4","responseTime":41,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"33a16e5a-4892-46bf-a6e5-6134e2ba60e9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.0665052} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c0948e4-29cc-43a5-ad79-5ef7c0dc1edb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.0666275} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d213a540-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d213a540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d213a540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4'","requestID":"d213a540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4'","requestID":"d213a540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d213a540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 91ms","method":"POST","requestID":"d213a540-2428-11f0-a0e6-516e7b85a777","responseTime":91,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d213a540-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4","device":"eaeea18f-49e4-488a-a66b-94c2a2d39b3a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4","device":"124fae04-481b-43cd-86a0-a27de7470795","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"709e12a01a2af862d3eab613a13480af"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2290200-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"052eb326-570a-473e-af5a-15c6051ba527","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.1731238} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.319037,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d2290200-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d2290200-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2290200-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/124fae04-481b-43cd-86a0-a27de7470795/signaling 200 34ms","method":"POST","requestID":"d2290200-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d22e8040-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da4c86c7-1a91-4ca0-aff7-2e0433609cf7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.2099328} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.659687,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d22e8040-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","object_type":"device","rebac_allow":false,"scope_allow":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":"d22e8040-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"device":"124fae04-481b-43cd-86a0-a27de7470795","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"124fae04-481b-43cd-86a0-a27de7470795","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"eaeea18f-49e4-488a-a66b-94c2a2d39b3a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"eaeea18f-49e4-488a-a66b-94c2a2d39b3a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d22e8040-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/signaling 200 17ms","method":"POST","requestID":"d22e8040-2428-11f0-a0e6-516e7b85a777","responseTime":17,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 6784887735938177213 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:JFHi\r\na=ice-pwd:fZ1KeW8QKumW9ctIqCULd+di\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F6:4A:8F:9A:50:BB:88:C1:AD:08:42:54:1B:B9:D9:01:41:15:0A:F3:13:7A:44:31:8C:59:BC:93:B0:DA:47:C3\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"eaeea18f-49e4-488a-a66b-94c2a2d39b3a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3426562144374313534 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:jJG1\r\na=ice-pwd:p9ZJrspU02/0BcBtboopzFvA\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E1:9F:83:D9:E7:09:3D:CA:98:F2:68:1E:87:A7:F6:C2:E2:35:7D:F8:74:3C:23:A1:A7:07:CA:44:14:43:D8:86\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"124fae04-481b-43cd-86a0-a27de7470795","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2896949853 1 udp 2113937151 6ad23cd1-fa67-476a-941e-4eaa44310340.local 42690 typ host generation 0 ufrag jJG1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"124fae04-481b-43cd-86a0-a27de7470795","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/124fae04-481b-43cd-86a0-a27de7470795'"} device-1 | {"content":{"candidate":"candidate:2158775659 1 udp 2113937151 a7dd98d5-4da9-4e72-a475-e21adc137876.local 35590 typ host generation 0 ufrag JFHi network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"eaeea18f-49e4-488a-a66b-94c2a2d39b3a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"eaeea18f-49e4-488a-a66b-94c2a2d39b3a","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/b564c21c-43f1-440b-80bc-e404f67084f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b564c21c-43f1-440b-80bc-e404f67084f4","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"124fae04-481b-43cd-86a0-a27de7470795","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2b01d397fd74bc058ff91ec6b059c1f5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"eaeea18f-49e4-488a-a66b-94c2a2d39b3a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2b01d397fd74bc058ff91ec6b059c1f5","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":"new","url":"http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4"}}},"level":"info","message":"received a callback","requestID":"2b01d397fd74bc058ff91ec6b059c1f5"} device-1 | {"device":"124fae04-481b-43cd-86a0-a27de7470795","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"124fae04-481b-43cd-86a0-a27de7470795","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":"2b01d397fd74bc058ff91ec6b059c1f5","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"2b01d397fd74bc058ff91ec6b059c1f5"} device-1 | {"device":"eaeea18f-49e4-488a-a66b-94c2a2d39b3a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"b564c21c-43f1-440b-80bc-e404f67084f4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"124fae04-481b-43cd-86a0-a27de7470795","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b564c21c-43f1-440b-80bc-e404f67084f4","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/b564c21c-43f1-440b-80bc-e404f67084f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b564c21c-43f1-440b-80bc-e404f67084f4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"da1e3684563433242f33d1891f9da23e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"da1e3684563433242f33d1891f9da23e","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/124fae04-481b-43cd-86a0-a27de7470795"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4"}}},"level":"info","message":"received a callback","requestID":"da1e3684563433242f33d1891f9da23e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d24bcc40-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d24bcc40-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb564c21c-43f1-440b-80bc-e404f67084f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45cd70e5-6788-4b28-8f79-6477a17f31cf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.4054615} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":7.128917,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d24bcc40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4","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 10ms","method":"POST","requestID":"d24bcc40-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4 200 15ms","method":"GET","requestID":"d24bcc40-2428-11f0-a0e6-516e7b85a777","responseTime":15,"status":200,"url":"/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 90ms","method":"POST","requestID":"da1e3684563433242f33d1891f9da23e","responseTime":90,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch","requestID":"da1e3684563433242f33d1891f9da23e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2551b10-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.930055,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12d8a133-6ba7-472d-8174-a4e1ab4536db","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.4625633} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d2551b10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","object_type":"device","rebac_allow":false,"scope_allow":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":"d2551b10-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2551b10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/124fae04-481b-43cd-86a0-a27de7470795/signaling 200 37ms","method":"POST","requestID":"d2551b10-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d25b3590-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35dd3131-fe47-4110-aa71-e011b7ef92dc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.5034008} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.367129,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d25b3590-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","object_type":"device","rebac_allow":false,"scope_allow":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":"d25b3590-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d25b3590-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/signaling 200 12ms","method":"POST","requestID":"d25b3590-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOX0.bfL7Zb9cUPv7a8OvIVxlguOsmdLnTt3GoC2PV7m7_kg","level":"info","message":"auth send jwt","requestID":"6dea8d6c4789f90c5f270f19afa43b8d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6dea8d6c4789f90c5f270f19afa43b8d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f4d8383c-fa11-4a52-ba26-80094fc23224","requestID":"6dea8d6c4789f90c5f270f19afa43b8d"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.678891,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6dea8d6c4789f90c5f270f19afa43b8d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841819,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOX0.bfL7Zb9cUPv7a8OvIVxlguOsmdLnTt3GoC2PV7m7_kg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6dea8d6c4789f90c5f270f19afa43b8d","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f4d8383c-fa11-4a52-ba26-80094fc23224","requestID":"6dea8d6c4789f90c5f270f19afa43b8d"} experiment-1 | {"level":"info","message":"GET /experiments/f4d8383c-fa11-4a52-ba26-80094fc23224 200 8ms","method":"GET","requestID":"6dea8d6c4789f90c5f270f19afa43b8d","responseTime":8,"status":200,"url":"/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"} gateway-1 | {"time_local":"28/Apr/2025:12:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f4d8383c-fa11-4a52-ba26-80094fc23224 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6dea8d6c4789f90c5f270f19afa43b8d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOX0.bfL7Zb9cUPv7a8OvIVxlguOsmdLnTt3GoC2PV7m7_kg","level":"info","message":"auth send jwt","requestID":"69da546dfa7c5a12c906f0ff8a7a2427"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"69da546dfa7c5a12c906f0ff8a7a2427","responseTime":24,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f4d8383c-fa11-4a52-ba26-80094fc23224","requestID":"69da546dfa7c5a12c906f0ff8a7a2427"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.625105,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"69da546dfa7c5a12c906f0ff8a7a2427","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841819,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOX0.bfL7Zb9cUPv7a8OvIVxlguOsmdLnTt3GoC2PV7m7_kg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"69da546dfa7c5a12c906f0ff8a7a2427","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Attempting to finish experiment","requestID":"69da546dfa7c5a12c906f0ff8a7a2427"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d2879cc0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.863946,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d2879cc0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841819,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgxOX0.bfL7Zb9cUPv7a8OvIVxlguOsmdLnTt3GoC2PV7m7_kg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2879cc0-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4","device":"124fae04-481b-43cd-86a0-a27de7470795","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4","device":"eaeea18f-49e4-488a-a66b-94c2a2d39b3a","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/b564c21c-43f1-440b-80bc-e404f67084f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b564c21c-43f1-440b-80bc-e404f67084f4","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb564c21c-43f1-440b-80bc-e404f67084f4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb564c21c-43f1-440b-80bc-e404f67084f4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"92b32c8e-a627-4869-bdec-09c320050294","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.8279648} 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/124fae04-481b-43cd-86a0-a27de7470795"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4"}}},"level":"info","message":"received a callback","requestID":"18f1f2a7b03b133b42d0e0f82005c1bf"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"18f1f2a7b03b133b42d0e0f82005c1bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fcf6e0a5-5a37-4184-aca2-8d315091e856","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.8282435} 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/124fae04-481b-43cd-86a0-a27de7470795"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4"}}},"level":"info","message":"received a callback","requestID":"8f215bb931c91c7f91fe43ed805129d9"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"18f1f2a7b03b133b42d0e0f82005c1bf","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8f215bb931c91c7f91fe43ed805129d9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8f215bb931c91c7f91fe43ed805129d9","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"d2879cc0-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d2879cc0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4 204 85ms","method":"DELETE","requestID":"d2879cc0-2428-11f0-a0e6-516e7b85a777","responseTime":85,"status":204,"url":"/peerconnections/b564c21c-43f1-440b-80bc-e404f67084f4"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"},"level":"info","message":"Successfully finished experiment","requestID":"69da546dfa7c5a12c906f0ff8a7a2427"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d296df00-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F124fae04-481b-43cd-86a0-a27de7470795","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9929bf1b-ab8c-46b9-b70a-1268d9c0ec4e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.8924563} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.384874,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d296df00-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d296df00-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d296df00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/124fae04-481b-43cd-86a0-a27de7470795/signaling 200 33ms","method":"POST","requestID":"d296df00-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/124fae04-481b-43cd-86a0-a27de7470795/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4d8383c-fa11-4a52-ba26-80094fc23224': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4d8383c-fa11-4a52-ba26-80094fc23224","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"feef0788-bd20-482e-a934-5dd0cad5290e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.9223728} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a68fd93e-ace9-41aa-8b83-6f5c918c233a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.9227293} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d29c3630-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"69da546dfa7c5a12c906f0ff8a7a2427","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feaeea18f-49e4-488a-a66b-94c2a2d39b3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"355ea661-befc-4a55-8ec7-e0de0444c81f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841819.9281006} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.539958,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d29c3630-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d29c3630-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d29c3630-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/signaling 200 9ms","method":"POST","requestID":"d29c3630-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/eaeea18f-49e4-488a-a66b-94c2a2d39b3a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f4d8383c-fa11-4a52-ba26-80094fc23224","requestID":"69da546dfa7c5a12c906f0ff8a7a2427"} gateway-1 | {"time_local":"28/Apr/2025:12:03:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f4d8383c-fa11-4a52-ba26-80094fc23224 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.265","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69da546dfa7c5a12c906f0ff8a7a2427"} experiment-1 | {"level":"info","message":"DELETE /experiments/f4d8383c-fa11-4a52-ba26-80094fc23224 204 244ms","method":"DELETE","requestID":"69da546dfa7c5a12c906f0ff8a7a2427","responseTime":244,"status":204,"url":"/experiments/f4d8383c-fa11-4a52-ba26-80094fc23224"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMH0.meicqN1D7MeO856rOAIh8L7koW9E1FPx2o147Ov1m54","level":"info","message":"auth send jwt","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 197ms","method":"POST","requestID":"18f1f2a7b03b133b42d0e0f82005c1bf","responseTime":197,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 197ms","method":"POST","requestID":"8f215bb931c91c7f91fe43ed805129d9","responseTime":197,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.202","http_referrer":"","http_user_agent":"node-fetch","requestID":"18f1f2a7b03b133b42d0e0f82005c1bf"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.202","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f215bb931c91c7f91fe43ed805129d9"} gateway-1 | {"time_local":"28/Apr/2025:12:03:40 +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.388","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ee784cb89c7160a611a9cc2914a70bb1"} device-1 | {"level":"info","message":"postDevices called","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96"} gateway-1 | {"time_local":"28/Apr/2025:12:03:40 +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.391","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f1cda079fe176361361dc84bab8a9aa4"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:40Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.075157,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841820,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMH0.meicqN1D7MeO856rOAIh8L7koW9E1FPx2o147Ov1m54"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/124fae04-481b-43cd-86a0-a27de7470795' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96","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/eaeea18f-49e4-488a-a66b-94c2a2d39b3a' 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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"85e82ef8-7c22-4c90-b004-90175ce784b7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841820.1225715} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1e035a8-ba4c-4915-9a58-8ff2b8767bea","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841820.126521} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"9030bb52-65fd-4fd7-aa83-bbd8d77e6850","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841820.1363642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a058b41-4451-4dcc-aa9f-2afb204bd82c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841820.136432} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.136341507Z"}]},"request_id":"afb13213-f964-4de6-9c1c-f774a0b5f5f6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841820.1646402} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96"} device-1 | {"level":"info","message":"POST /devices? 201 133ms","method":"POST","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96","responseTime":133,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d7a1c2e08c8d6a8e079d01fb939eb96"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMH0.meicqN1D7MeO856rOAIh8L7koW9E1FPx2o147Ov1m54","level":"info","message":"auth send jwt","requestID":"32ae29b21e85f58f546013f525f2c0f5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"32ae29b21e85f58f546013f525f2c0f5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"32ae29b21e85f58f546013f525f2c0f5"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:40Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.642156,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"32ae29b21e85f58f546013f525f2c0f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841820,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMH0.meicqN1D7MeO856rOAIh8L7koW9E1FPx2o147Ov1m54"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"32ae29b21e85f58f546013f525f2c0f5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"71966f68-ebd0-4722-8235-b3cc0895b096","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841820.1847162} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"32ae29b21e85f58f546013f525f2c0f5","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d24bd6ed-0adc-443f-922f-457e42f2438b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841820.2134182} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"32ae29b21e85f58f546013f525f2c0f5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"f046d3e0-91ff-47ce-8483-a5259777db81","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841820.2231991} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74da2a0f-cf85-457d-b12d-50ec0edd4c7d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841820.2232454} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"32ae29b21e85f58f546013f525f2c0f5","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.223169897Z"}]},"request_id":"9f72d40b-3a48-4b99-bd25-1e1769f5d5fa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841820.2273264} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"32ae29b21e85f58f546013f525f2c0f5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"32ae29b21e85f58f546013f525f2c0f5"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"32ae29b21e85f58f546013f525f2c0f5","responseTime":58,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32ae29b21e85f58f546013f525f2c0f5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMX0.7BdJgUaSofaWBps2tBvYBzI7FlK-H3r3lLNlqSBmw1c","level":"info","message":"auth send jwt","requestID":"a085669d8fd3b299b65abd16d3db1907"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a085669d8fd3b299b65abd16d3db1907","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a085669d8fd3b299b65abd16d3db1907"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:41Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69215,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a085669d8fd3b299b65abd16d3db1907","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841821,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMX0.7BdJgUaSofaWBps2tBvYBzI7FlK-H3r3lLNlqSBmw1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a085669d8fd3b299b65abd16d3db1907","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.223169897Z"}]},"request_id":"5621b475-1c42-473c-9c54-26873686401e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841821.2227044} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a085669d8fd3b299b65abd16d3db1907","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2557800a-e1ae-4fcb-919f-967ffd7a8fae","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841821.2323706} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a085669d8fd3b299b65abd16d3db1907","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.223169897Z"}]},"request_id":"edd13e7c-df8f-4361-b034-1f713cd67216","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841821.2717068} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a085669d8fd3b299b65abd16d3db1907","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a085669d8fd3b299b65abd16d3db1907"} gateway-1 | {"time_local":"28/Apr/2025:12:03:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.090","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a085669d8fd3b299b65abd16d3db1907"} device-1 | {"level":"info","message":"PATCH /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857 200 86ms","method":"PATCH","requestID":"a085669d8fd3b299b65abd16d3db1907","responseTime":86,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMX0.7BdJgUaSofaWBps2tBvYBzI7FlK-H3r3lLNlqSBmw1c","level":"info","message":"auth send jwt","requestID":"626713a350605849fbf5af087179b2b8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"626713a350605849fbf5af087179b2b8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"626713a350605849fbf5af087179b2b8"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:41Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683053,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"626713a350605849fbf5af087179b2b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841821,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMX0.7BdJgUaSofaWBps2tBvYBzI7FlK-H3r3lLNlqSBmw1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"626713a350605849fbf5af087179b2b8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"626713a350605849fbf5af087179b2b8"} device-1 | {"level":"info","message":"POST /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/websocket 200 39ms","method":"POST","requestID":"626713a350605849fbf5af087179b2b8","responseTime":39,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:03:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"626713a350605849fbf5af087179b2b8"} device-1 | {"level":"info","message":"device 'http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1c9060b6fb21e7e79d06305cde807fec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1c9060b6fb21e7e79d06305cde807fec","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/de4d43f8-0d25-4aed-b60c-360cf1896794/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":"1c9060b6fb21e7e79d06305cde807fec"} device-1 | {"level":"info","message":"OPTIONS /devices/de4d43f8-0d25-4aed-b60c-360cf1896794/websocket 200 1ms","method":"OPTIONS","requestID":"1c9060b6fb21e7e79d06305cde807fec","responseTime":1,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ","level":"info","message":"auth send jwt","requestID":"4992f411f47b0ede8087628acf5e50db"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4992f411f47b0ede8087628acf5e50db","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4992f411f47b0ede8087628acf5e50db"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.539584,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4992f411f47b0ede8087628acf5e50db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841822,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4992f411f47b0ede8087628acf5e50db","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4992f411f47b0ede8087628acf5e50db"} device-1 | {"level":"info","message":"POST /devices/de4d43f8-0d25-4aed-b60c-360cf1896794/websocket 200 48ms","method":"POST","requestID":"4992f411f47b0ede8087628acf5e50db","responseTime":48,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/de4d43f8-0d25-4aed-b60c-360cf1896794/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":"4992f411f47b0ede8087628acf5e50db"} device-1 | {"level":"info","message":"device 'http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ","level":"info","message":"auth send jwt","requestID":"9ea27ab494ca8652bb5099b46b0364e2"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"9ea27ab494ca8652bb5099b46b0364e2","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ea27ab494ca8652bb5099b46b0364e2"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807056,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9ea27ab494ca8652bb5099b46b0364e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841822,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9ea27ab494ca8652bb5099b46b0364e2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.136341507Z"}]},"request_id":"319be482-6d58-4576-8fd4-cc6f911efc3d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.6651607} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9ea27ab494ca8652bb5099b46b0364e2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ea27ab494ca8652bb5099b46b0364e2"} gateway-1 | {"time_local":"28/Apr/2025:12:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de4d43f8-0d25-4aed-b60c-360cf1896794? 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":"9ea27ab494ca8652bb5099b46b0364e2"} device-1 | {"level":"info","message":"GET /devices/de4d43f8-0d25-4aed-b60c-360cf1896794? 200 10ms","method":"GET","requestID":"9ea27ab494ca8652bb5099b46b0364e2","responseTime":10,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ","level":"info","message":"auth send jwt","requestID":"3786ed8fe2c9d3b3a75cc441fb79f784"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3786ed8fe2c9d3b3a75cc441fb79f784","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3786ed8fe2c9d3b3a75cc441fb79f784"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664162,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"3786ed8fe2c9d3b3a75cc441fb79f784","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841822,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3786ed8fe2c9d3b3a75cc441fb79f784","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.223169897Z"}]},"request_id":"9d26e565-5b7e-4d23-8ac0-9335c909a9e8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.7049224} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"3786ed8fe2c9d3b3a75cc441fb79f784","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3786ed8fe2c9d3b3a75cc441fb79f784"} gateway-1 | {"time_local":"28/Apr/2025:12:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857? 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":"3786ed8fe2c9d3b3a75cc441fb79f784"} device-1 | {"level":"info","message":"GET /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857? 200 36ms","method":"GET","requestID":"3786ed8fe2c9d3b3a75cc441fb79f784","responseTime":36,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ","level":"info","message":"auth send jwt","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1bbb9dea48894c8f22388b3cd3b00d94","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.694885,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1bbb9dea48894c8f22388b3cd3b00d94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841822,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1bbb9dea48894c8f22388b3cd3b00d94","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Attempting to run experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Attempting to book experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Successfully booked experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d44e04e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d44e2bf0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.598954,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d44e04e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841822,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d44e04e0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723621,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d44e2bf0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841822,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d44e2bf0-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.136341507Z"}]},"request_id":"42ab35e9-6f64-4d45-8ce9-0e33e62eb971","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.7743578} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d44e04e0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.223169897Z"}]},"request_id":"1f7dd2f6-14e4-4439-a251-23fa17c853fd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.7751508} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d44e2bf0-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d44e04e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/de4d43f8-0d25-4aed-b60c-360cf1896794? 200 37ms","method":"GET","requestID":"d44e04e0-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d44e2bf0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857? 200 37ms","method":"GET","requestID":"d44e2bf0-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Setting up experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Successfully set up experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d45de360-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d45e0a70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4620210-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Successfully running experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.027938,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d45de360-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841822,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"d45de360-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.832153,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d45e0a70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841822,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"d45e0a70-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26329ee9-5f1b-4503-8ffa-82efebd466ea","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.9050999} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.490746,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d4620210-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","object_type":"device","rebac_allow":false,"scope_allow":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":"d4620210-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.136341507Z"}]},"request_id":"7863143d-ea26-40fc-913a-41277dbb1686","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.9109566} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4620210-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/de4d43f8-0d25-4aed-b60c-360cf1896794/signaling 200 15ms","method":"POST","requestID":"d4620210-2428-11f0-a0e6-516e7b85a777","responseTime":15,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d45de360-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.223169897Z"}]},"request_id":"4563dfb5-234f-476e-894f-56efc2e6c67a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.9120586} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d45e0a70-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d464c130-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d45de360-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F22a2dae5-35e0-42b3-9230-6bee7565c6f9#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F22a2dae5-35e0-42b3-9230-6bee7565c6f9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"4e0fd030-525d-4854-ba9b-6360a5462a6a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.917238} device-1 | {"level":"info","message":"GET /devices/de4d43f8-0d25-4aed-b60c-360cf1896794? 200 48ms","method":"GET","requestID":"d45de360-2428-11f0-a0e6-516e7b85a777","responseTime":48,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89963147-622d-44f3-8da0-906694b92c6c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.9173648} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d45e0a70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} device-1 | {"level":"info","message":"GET /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857? 200 48ms","method":"GET","requestID":"d45e0a70-2428-11f0-a0e6-516e7b85a777","responseTime":48,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"1bbb9dea48894c8f22388b3cd3b00d94","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4dc8362-e3f0-4462-a35d-7ca227283c58","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.9200742} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.235904,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d464c130-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","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":"d4697c20-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"d464c130-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d464c130-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1db66a48-1c90-4f0a-8cd6-0fe3656c2197","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.950648} device-1 | {"level":"info","message":"POST /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/signaling 200 36ms","method":"POST","requestID":"d464c130-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.913209,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d4697c20-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d4697c20-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"level":"info","message":"POST /experiments? 201 241ms","method":"POST","requestID":"1bbb9dea48894c8f22388b3cd3b00d94","responseTime":241,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4697c20-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/de4d43f8-0d25-4aed-b60c-360cf1896794/signaling 200 10ms","method":"POST","requestID":"d4697c20-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ","level":"info","message":"auth send jwt","requestID":"5bf1cb9ada5014a60959fdbb9145f408"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5bf1cb9ada5014a60959fdbb9145f408","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d46b77f0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5bf1cb9ada5014a60959fdbb9145f408"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7ee3bba-bf6f-45af-8cee-a3942a14ce1b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.9639482} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:53798","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.422069,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.684962,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5bf1cb9ada5014a60959fdbb9145f408","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841822,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5bf1cb9ada5014a60959fdbb9145f408","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d46b77f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"d46b77f0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.136341507Z"}]},"request_id":"b4824555-b499-44e3-bdc3-c55945ddea79","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841822.9998763} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5bf1cb9ada5014a60959fdbb9145f408","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d46b77f0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/signaling 200 42ms","method":"POST","requestID":"d46b77f0-2428-11f0-a0e6-516e7b85a777","responseTime":42,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Building connection plan","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"7dc2619c-534a-4d8c-b796-91767632bdc4"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"691cb888-a8b7-41ea-8677-4ce10712013b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"93a381f9-d78d-4c89-8a94-f95f5509d963"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} 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/02acf8fb-02e1-4b24-8172-5463e5ed4857"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5bf1cb9ada5014a60959fdbb9145f408"} device-1 | {"level":"info","message":"GET /devices/de4d43f8-0d25-4aed-b60c-360cf1896794? 200 44ms","method":"GET","requestID":"5bf1cb9ada5014a60959fdbb9145f408","responseTime":44,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de4d43f8-0d25-4aed-b60c-360cf1896794? 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":"5bf1cb9ada5014a60959fdbb9145f408"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:43Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.757039,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841822,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyMn0.4pcEe4HFZOMWE-ee5bri5qa1nTUDWN0xghGu57TTQkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyM30.k7bV1n1Wui1gddh2tqIh6jI-eYWdl4XPLiZ-lor3yg8","level":"info","message":"auth send jwt","requestID":"c1780cc1e69d00fb797a0a2eacfcbe0c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c1780cc1e69d00fb797a0a2eacfcbe0c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1780cc1e69d00fb797a0a2eacfcbe0c"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:43Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70874,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c1780cc1e69d00fb797a0a2eacfcbe0c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841823,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyM30.k7bV1n1Wui1gddh2tqIh6jI-eYWdl4XPLiZ-lor3yg8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c1780cc1e69d00fb797a0a2eacfcbe0c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"cbc5f400-2b26-4b61-925a-d9b28134bbb0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841823.0165331} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3b00a03-2ed0-4516-87a4-3f808c49be39","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841823.0410452} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:40.223169897Z"}]},"request_id":"480e4887-c7d7-4765-ab72-0499fa9ca8ad","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841823.0424135} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"c1780cc1e69d00fb797a0a2eacfcbe0c","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1780cc1e69d00fb797a0a2eacfcbe0c"} gateway-1 | {"time_local":"28/Apr/2025:12:03:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1780cc1e69d00fb797a0a2eacfcbe0c"} device-1 | {"level":"info","message":"GET /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857? 200 38ms","method":"GET","requestID":"c1780cc1e69d00fb797a0a2eacfcbe0c","responseTime":38,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95'","requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95'","requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 54ms","method":"POST","requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777","responseTime":54,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d47255c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95","device":"de4d43f8-0d25-4aed-b60c-360cf1896794","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/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1bbb9dea48894c8f22388b3cd3b00d94"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4820d30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:43Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85216391-05f8-4f71-88aa-cb9323e9c58f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841823.1115613} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.493666,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d4820d30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","object_type":"device","rebac_allow":false,"scope_allow":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":"d4820d30-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4820d30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/de4d43f8-0d25-4aed-b60c-360cf1896794/signaling 200 33ms","method":"POST","requestID":"d4820d30-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4876460-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:43Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09a56344-274e-4dc9-9c92-516e911fbcac","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841823.1464994} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.873386,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d4876460-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d4876460-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"de4d43f8-0d25-4aed-b60c-360cf1896794","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"de4d43f8-0d25-4aed-b60c-360cf1896794","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4876460-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/signaling 200 11ms","method":"POST","requestID":"d4876460-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 3318070160581783685 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:/+uF\r\na=ice-pwd:kvXDkIUzTV71LDuh8FUEJPcY\r\na=ice-options:trickle\r\na=fingerprint:sha-256 45:03:8A:A1:00:12:ED:20:2B:83:30:45:AB:0D:4C:3B:79:CB:9A:E9:FE:5F:63:F8:E3:6F:68:0D:F6:0A:02:2B\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"de4d43f8-0d25-4aed-b60c-360cf1896794","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"de4d43f8-0d25-4aed-b60c-360cf1896794","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"02acf8fb-02e1-4b24-8172-5463e5ed4857","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":"02f03aee-4045-4804-ba22-f12525b0ea95","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"02acf8fb-02e1-4b24-8172-5463e5ed4857","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":"02acf8fb-02e1-4b24-8172-5463e5ed4857","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":"02acf8fb-02e1-4b24-8172-5463e5ed4857","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":"02acf8fb-02e1-4b24-8172-5463e5ed4857","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/02f03aee-4045-4804-ba22-f12525b0ea95' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"02f03aee-4045-4804-ba22-f12525b0ea95","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f5c6d04950b8b7ea9b9c14965f472c9c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f5c6d04950b8b7ea9b9c14965f472c9c","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/02acf8fb-02e1-4b24-8172-5463e5ed4857"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95"}}},"level":"info","message":"received a callback","requestID":"f5c6d04950b8b7ea9b9c14965f472c9c"} device-1 | {"content":{"candidate":"candidate:2666192032 1 udp 2113937151 3b96874e-e4e9-4da0-8867-0cf24346ef6b.local 33358 typ host generation 0 ufrag /+uF network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"de4d43f8-0d25-4aed-b60c-360cf1896794","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"de4d43f8-0d25-4aed-b60c-360cf1896794","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":"f5c6d04950b8b7ea9b9c14965f472c9c","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"f5c6d04950b8b7ea9b9c14965f472c9c"} device-1 | {"data":{"peerconnection":"02f03aee-4045-4804-ba22-f12525b0ea95","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"02acf8fb-02e1-4b24-8172-5463e5ed4857","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":"de4d43f8-0d25-4aed-b60c-360cf1896794","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"02acf8fb-02e1-4b24-8172-5463e5ed4857","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":"02f03aee-4045-4804-ba22-f12525b0ea95","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/02f03aee-4045-4804-ba22-f12525b0ea95' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"02f03aee-4045-4804-ba22-f12525b0ea95","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4186d92f4093cfbfdf1827711be21700","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4186d92f4093cfbfdf1827711be21700","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/02acf8fb-02e1-4b24-8172-5463e5ed4857"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95"}}},"level":"info","message":"received a callback","requestID":"4186d92f4093cfbfdf1827711be21700"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d5c38de0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F02f03aee-4045-4804-ba22-f12525b0ea95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6dc92d6a-e27a-4efe-9f92-a4bde471010d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841825.2194963} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.798712,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d5c38de0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95","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":"d5c38de0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d5c38de0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95 200 39ms","method":"GET","requestID":"d5c38de0-2428-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 55ms","method":"POST","requestID":"4186d92f4093cfbfdf1827711be21700","responseTime":55,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"4186d92f4093cfbfdf1827711be21700"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d5cb2f00-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8e4c335-a133-46c7-8c7e-e5ec477a9eb2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841825.2697642} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.776965,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d5cb2f00-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d5cb2f00-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d5cb2f00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/signaling 200 39ms","method":"POST","requestID":"d5cb2f00-2428-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d5d197a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a97209fe-4a46-4ac0-b3ee-3ae5f59ef71d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841825.3114243} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.969084,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d5d197a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d5d197a0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d5d197a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/de4d43f8-0d25-4aed-b60c-360cf1896794/signaling 200 11ms","method":"POST","requestID":"d5d197a0-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyNX0.m3ISjcweqOQ1P-WaSLkcY5fQyb4oc-URsXlyfe1AkDU","level":"info","message":"auth send jwt","requestID":"2b64359dd4df4fe41bdbf33cb4c2bb15"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"2b64359dd4df4fe41bdbf33cb4c2bb15","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9","requestID":"2b64359dd4df4fe41bdbf33cb4c2bb15"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.666222,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"2b64359dd4df4fe41bdbf33cb4c2bb15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841825,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyNX0.m3ISjcweqOQ1P-WaSLkcY5fQyb4oc-URsXlyfe1AkDU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2b64359dd4df4fe41bdbf33cb4c2bb15","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9","requestID":"2b64359dd4df4fe41bdbf33cb4c2bb15"} gateway-1 | {"time_local":"28/Apr/2025:12:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b64359dd4df4fe41bdbf33cb4c2bb15"} experiment-1 | {"level":"info","message":"GET /experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9 200 11ms","method":"GET","requestID":"2b64359dd4df4fe41bdbf33cb4c2bb15","responseTime":11,"status":200,"url":"/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyNX0.m3ISjcweqOQ1P-WaSLkcY5fQyb4oc-URsXlyfe1AkDU","level":"info","message":"auth send jwt","requestID":"0a72ece7a2bf657477a32cd47ea894dc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0a72ece7a2bf657477a32cd47ea894dc","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9","requestID":"0a72ece7a2bf657477a32cd47ea894dc"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.877812,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0a72ece7a2bf657477a32cd47ea894dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841825,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyNX0.m3ISjcweqOQ1P-WaSLkcY5fQyb4oc-URsXlyfe1AkDU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0a72ece7a2bf657477a32cd47ea894dc","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Attempting to finish experiment","requestID":"0a72ece7a2bf657477a32cd47ea894dc"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d60e7990-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.726318,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d60e7990-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841825,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyNX0.m3ISjcweqOQ1P-WaSLkcY5fQyb4oc-URsXlyfe1AkDU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"d60e7990-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95","device":"de4d43f8-0d25-4aed-b60c-360cf1896794","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"02acf8fb-02e1-4b24-8172-5463e5ed4857","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":"02acf8fb-02e1-4b24-8172-5463e5ed4857","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":"02acf8fb-02e1-4b24-8172-5463e5ed4857","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/02f03aee-4045-4804-ba22-f12525b0ea95' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"02f03aee-4045-4804-ba22-f12525b0ea95","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F02f03aee-4045-4804-ba22-f12525b0ea95': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F02f03aee-4045-4804-ba22-f12525b0ea95","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"357ba3c5-e8d2-4412-82c7-757e2f553f7d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841825.7454247} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ba5049f-b72b-4658-b80b-ba355e25d82b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841825.7456975} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4cc17a8c51bc077fd75a0f37ee4a7cfb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4cc17a8c51bc077fd75a0f37ee4a7cfb","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/02acf8fb-02e1-4b24-8172-5463e5ed4857"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95"}}},"level":"info","message":"received a callback","requestID":"4cc17a8c51bc077fd75a0f37ee4a7cfb"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3dce22e7ab63c03aa1075fe39836de42","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3dce22e7ab63c03aa1075fe39836de42","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/02acf8fb-02e1-4b24-8172-5463e5ed4857"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95"}}},"level":"info","message":"received a callback","requestID":"3dce22e7ab63c03aa1075fe39836de42"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"d60e7990-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"02f03aee-4045-4804-ba22-f12525b0ea95","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d60e7990-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95 204 93ms","method":"DELETE","requestID":"d60e7990-2428-11f0-a0e6-516e7b85a777","responseTime":93,"status":204,"url":"/peerconnections/02f03aee-4045-4804-ba22-f12525b0ea95"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"},"level":"info","message":"Successfully finished experiment","requestID":"0a72ece7a2bf657477a32cd47ea894dc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6229dd0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02acf8fb-02e1-4b24-8172-5463e5ed4857","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6622d70b-8581-460c-ae13-779af0d2a510","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841825.841747} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.510197,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d6229dd0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d6229dd0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6229dd0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/signaling 200 9ms","method":"POST","requestID":"d6229dd0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6242470-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F22a2dae5-35e0-42b3-9230-6bee7565c6f9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F22a2dae5-35e0-42b3-9230-6bee7565c6f9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"0d9ee300-4ff7-4680-bd69-1f5470ec87f9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841825.8740454} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75dea27d-e840-43b2-ac5c-dbb3840bb9ea","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841825.874101} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"0a72ece7a2bf657477a32cd47ea894dc","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde4d43f8-0d25-4aed-b60c-360cf1896794","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a491d253-b81e-403a-a9c8-70081e0354dc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841825.8779593} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.026401,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d6242470-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794","object_type":"device","rebac_allow":false,"scope_allow":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":"d6242470-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6242470-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/de4d43f8-0d25-4aed-b60c-360cf1896794/signaling 200 35ms","method":"POST","requestID":"d6242470-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/de4d43f8-0d25-4aed-b60c-360cf1896794/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9","requestID":"0a72ece7a2bf657477a32cd47ea894dc"} gateway-1 | {"time_local":"28/Apr/2025:12:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.284","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a72ece7a2bf657477a32cd47ea894dc"} experiment-1 | {"level":"info","message":"DELETE /experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9 204 282ms","method":"DELETE","requestID":"0a72ece7a2bf657477a32cd47ea894dc","responseTime":282,"status":204,"url":"/experiments/22a2dae5-35e0-42b3-9230-6bee7565c6f9"} gateway-1 | {"time_local":"28/Apr/2025:12:03:45 +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.657","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5bda985d2cde87d4fc07da43dfd0a7c5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 233ms","method":"POST","requestID":"4cc17a8c51bc077fd75a0f37ee4a7cfb","responseTime":233,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/02acf8fb-02e1-4b24-8172-5463e5ed4857' closed"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.236","http_referrer":"","http_user_agent":"node-fetch","requestID":"4cc17a8c51bc077fd75a0f37ee4a7cfb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 233ms","method":"POST","requestID":"3dce22e7ab63c03aa1075fe39836de42","responseTime":233,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.236","http_referrer":"","http_user_agent":"node-fetch","requestID":"3dce22e7ab63c03aa1075fe39836de42"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyNX0.m3ISjcweqOQ1P-WaSLkcY5fQyb4oc-URsXlyfe1AkDU","level":"info","message":"auth send jwt","requestID":"45bc3fe57b37d0b5319f432b1e58d182"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45bc3fe57b37d0b5319f432b1e58d182","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"45bc3fe57b37d0b5319f432b1e58d182"} gateway-1 | {"time_local":"28/Apr/2025:12:03:45 +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.362","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"286d21960c4f0375cf9955671c552832"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.813154,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:45Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/de4d43f8-0d25-4aed-b60c-360cf1896794' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"45bc3fe57b37d0b5319f432b1e58d182","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841825,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyNX0.m3ISjcweqOQ1P-WaSLkcY5fQyb4oc-URsXlyfe1AkDU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"45bc3fe57b37d0b5319f432b1e58d182","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6899e92a-32ee-4729-bf62-1d110e05be7a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841826.0321012} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"45bc3fe57b37d0b5319f432b1e58d182","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd8b2156-621c-4fbf-891f-7f2733af2198","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841826.0378} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"45bc3fe57b37d0b5319f432b1e58d182","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"36044ac2-c3a0-46aa-a135-cf3d235f0e31","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841826.074657} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d33c5fb-47b2-42be-8b7c-6469974b087b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841826.0749185} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"45bc3fe57b37d0b5319f432b1e58d182","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.074638781Z"}]},"request_id":"f1efd12b-9909-4cc4-a074-9360a5d6f20a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841826.0795193} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"45bc3fe57b37d0b5319f432b1e58d182","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"45bc3fe57b37d0b5319f432b1e58d182"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"45bc3fe57b37d0b5319f432b1e58d182","responseTime":95,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45bc3fe57b37d0b5319f432b1e58d182"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyNn0.AJzriotVsYGoPxbNpZ4y7XeB0gvw2CBW59KKUB2LR_U","level":"info","message":"auth send jwt","requestID":"633b6b396ec9d77d7446b3d16d5805b2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"633b6b396ec9d77d7446b3d16d5805b2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"633b6b396ec9d77d7446b3d16d5805b2"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:46Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.943537,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"633b6b396ec9d77d7446b3d16d5805b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841826,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyNn0.AJzriotVsYGoPxbNpZ4y7XeB0gvw2CBW59KKUB2LR_U"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"633b6b396ec9d77d7446b3d16d5805b2","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a059abe6-f995-443b-bb4b-1d2aa7f5cc8c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841826.1280859} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"633b6b396ec9d77d7446b3d16d5805b2","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6ff3d2c-8f27-49bf-bb09-bec0e1151c54","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841826.133052} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"633b6b396ec9d77d7446b3d16d5805b2","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"66d3340f-1aad-48a6-ab35-db65734d29f8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841826.1673808} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fbe00058-4b98-435e-91d7-f7b1e987c086","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841826.167488} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"633b6b396ec9d77d7446b3d16d5805b2","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.167355824Z"}]},"request_id":"a06b23cc-8660-4265-b80e-84479102d76e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841826.1734467} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"633b6b396ec9d77d7446b3d16d5805b2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"633b6b396ec9d77d7446b3d16d5805b2"} gateway-1 | {"time_local":"28/Apr/2025:12:03:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"633b6b396ec9d77d7446b3d16d5805b2"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"633b6b396ec9d77d7446b3d16d5805b2","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyN30.E5b_ApA6WwjV4cN_wmx05rsZYsQ10lFNMFd74lH1YN0","level":"info","message":"auth send jwt","requestID":"4fc4fc9eed71066a9bc530c2e79816e7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4fc4fc9eed71066a9bc530c2e79816e7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4fc4fc9eed71066a9bc530c2e79816e7"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:47Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754333,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4fc4fc9eed71066a9bc530c2e79816e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841827,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyN30.E5b_ApA6WwjV4cN_wmx05rsZYsQ10lFNMFd74lH1YN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4fc4fc9eed71066a9bc530c2e79816e7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.074638781Z"}]},"request_id":"2a364490-19ba-4f70-9e9d-da92a2531fb6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841827.187629} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4fc4fc9eed71066a9bc530c2e79816e7","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50b37030-807d-4795-9729-7e099a2a04f1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841827.1922684} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"4fc4fc9eed71066a9bc530c2e79816e7","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.074638781Z"}]},"request_id":"c1e6949d-8f3b-49c2-8a5d-1134140137df","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841827.2339458} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4fc4fc9eed71066a9bc530c2e79816e7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4fc4fc9eed71066a9bc530c2e79816e7"} gateway-1 | {"time_local":"28/Apr/2025:12:03:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"4fc4fc9eed71066a9bc530c2e79816e7"} device-1 | {"level":"info","message":"PATCH /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c 200 57ms","method":"PATCH","requestID":"4fc4fc9eed71066a9bc530c2e79816e7","responseTime":57,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyN30.E5b_ApA6WwjV4cN_wmx05rsZYsQ10lFNMFd74lH1YN0","level":"info","message":"auth send jwt","requestID":"9ab5684287a5b9eca6fbe00fb7779f06"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ab5684287a5b9eca6fbe00fb7779f06","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9ab5684287a5b9eca6fbe00fb7779f06"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:47Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845561,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9ab5684287a5b9eca6fbe00fb7779f06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841827,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyN30.E5b_ApA6WwjV4cN_wmx05rsZYsQ10lFNMFd74lH1YN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9ab5684287a5b9eca6fbe00fb7779f06","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9ab5684287a5b9eca6fbe00fb7779f06"} gateway-1 | {"time_local":"28/Apr/2025:12:03:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9ab5684287a5b9eca6fbe00fb7779f06"} device-1 | {"level":"info","message":"POST /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/websocket 200 18ms","method":"POST","requestID":"9ab5684287a5b9eca6fbe00fb7779f06","responseTime":18,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"50a4583b22119fb620d2b97a2eb450f1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"50a4583b22119fb620d2b97a2eb450f1","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e1201759-2c63-42e6-80a9-532e675016ad/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":"50a4583b22119fb620d2b97a2eb450f1"} device-1 | {"level":"info","message":"OPTIONS /devices/e1201759-2c63-42e6-80a9-532e675016ad/websocket 200 1ms","method":"OPTIONS","requestID":"50a4583b22119fb620d2b97a2eb450f1","responseTime":1,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s","level":"info","message":"auth send jwt","requestID":"a163a55c269a0215dda7d900f859f04f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a163a55c269a0215dda7d900f859f04f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a163a55c269a0215dda7d900f859f04f"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710838,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a163a55c269a0215dda7d900f859f04f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a163a55c269a0215dda7d900f859f04f","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a163a55c269a0215dda7d900f859f04f"} gateway-1 | {"time_local":"28/Apr/2025:12:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e1201759-2c63-42e6-80a9-532e675016ad/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a163a55c269a0215dda7d900f859f04f"} device-1 | {"level":"info","message":"POST /devices/e1201759-2c63-42e6-80a9-532e675016ad/websocket 200 30ms","method":"POST","requestID":"a163a55c269a0215dda7d900f859f04f","responseTime":30,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s","level":"info","message":"auth send jwt","requestID":"f3bf28fe5bf3065ff1faa36c4a9145e6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f3bf28fe5bf3065ff1faa36c4a9145e6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f3bf28fe5bf3065ff1faa36c4a9145e6"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951531,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f3bf28fe5bf3065ff1faa36c4a9145e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f3bf28fe5bf3065ff1faa36c4a9145e6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.074638781Z"}]},"request_id":"54a7cbe9-210f-408a-9634-ea078d123dbf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.520429} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f3bf28fe5bf3065ff1faa36c4a9145e6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f3bf28fe5bf3065ff1faa36c4a9145e6"} device-1 | {"level":"info","message":"GET /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c? 200 11ms","method":"GET","requestID":"f3bf28fe5bf3065ff1faa36c4a9145e6","responseTime":11,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3bf28fe5bf3065ff1faa36c4a9145e6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s","level":"info","message":"auth send jwt","requestID":"c71ba63e23a1002fcd5fece5df200b45"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c71ba63e23a1002fcd5fece5df200b45","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c71ba63e23a1002fcd5fece5df200b45"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652972,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c71ba63e23a1002fcd5fece5df200b45","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c71ba63e23a1002fcd5fece5df200b45","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.167355824Z"}]},"request_id":"1569d490-0610-4ef1-ba2b-e41ae13b8c45","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.5346725} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c71ba63e23a1002fcd5fece5df200b45","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c71ba63e23a1002fcd5fece5df200b45"} gateway-1 | {"time_local":"28/Apr/2025:12:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e1201759-2c63-42e6-80a9-532e675016ad? 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":"c71ba63e23a1002fcd5fece5df200b45"} device-1 | {"level":"info","message":"GET /devices/e1201759-2c63-42e6-80a9-532e675016ad? 200 34ms","method":"GET","requestID":"c71ba63e23a1002fcd5fece5df200b45","responseTime":34,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s","level":"info","message":"auth send jwt","requestID":"04d5e12cfbc847c8c461f91b22b86227"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"04d5e12cfbc847c8c461f91b22b86227","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"04d5e12cfbc847c8c461f91b22b86227"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.694861,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"04d5e12cfbc847c8c461f91b22b86227","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"04d5e12cfbc847c8c461f91b22b86227","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Attempting to run experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Attempting to book experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Successfully booked experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7cb92e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7cbe100-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664403,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d7cb92e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d7cb92e0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875132,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d7cbe100-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d7cbe100-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.074638781Z"}]},"request_id":"0904c83b-e70e-4667-ab0b-15da2ad4d185","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.6304407} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7cb92e0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.167355824Z"}]},"request_id":"45149f79-d060-4d49-8279-8b6aa7a77486","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.6588564} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7cb92e0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d7cbe100-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c? 200 38ms","method":"GET","requestID":"d7cb92e0-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7cbe100-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/e1201759-2c63-42e6-80a9-532e675016ad? 200 39ms","method":"GET","requestID":"d7cbe100-2428-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Setting up experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Successfully locked booking for experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Attempting to update booking for experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Successfully updated booking for experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Successfully set up experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7e27640-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7e2c460-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7e2eb70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.628963,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Successfully running experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d7e27640-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7e27640-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645582,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d7e2c460-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"d7e2c460-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.913435,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58aebdef-e384-4d5f-a978-c79810b3837c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.8049664} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d7e2eb70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","rebac_allow":false,"scope_allow":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":"d7e2eb70-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7e2eb70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.074638781Z"}]},"request_id":"c66eb71d-1e9d-4b90-a4a7-4166f96a1bd7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.809679} device-1 | {"level":"info","message":"POST /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/signaling 200 35ms","method":"POST","requestID":"d7e2eb70-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d7e27640-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.167355824Z"}]},"request_id":"de552e90-46fb-4496-869a-b425af60ca79","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.810807} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7e2c460-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7e8dee0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c7466206-1500-4211-b618-ad328ab02e97","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.8156133} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e6a155c-e3d3-46d4-af22-fa86e43592d1#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e6a155c-e3d3-46d4-af22-fa86e43592d1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"494f310a-2453-467c-9abd-e0ce1bb19abc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.8159053} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"04d5e12cfbc847c8c461f91b22b86227","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7e27640-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c? 200 47ms","method":"GET","requestID":"d7e27640-2428-11f0-a0e6-516e7b85a777","responseTime":47,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c?"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7e2c460-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/e1201759-2c63-42e6-80a9-532e675016ad? 200 46ms","method":"GET","requestID":"d7e2c460-2428-11f0-a0e6-516e7b85a777","responseTime":46,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a12a537f-df67-4aae-aadc-dbacc27beeaf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.8211615} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.115208,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d7e8dee0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d7e8dee0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7ea3e70-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"04d5e12cfbc847c8c461f91b22b86227"} gateway-1 | {"time_local":"28/Apr/2025:12:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.262","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"level":"info","message":"POST /experiments? 201 259ms","method":"POST","requestID":"04d5e12cfbc847c8c461f91b22b86227","responseTime":259,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s","level":"info","message":"auth send jwt","requestID":"f5a414186ba0bcaa8a1017544d373710"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7e8dee0-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"f5a414186ba0bcaa8a1017544d373710","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/e1201759-2c63-42e6-80a9-532e675016ad/signaling 200 40ms","method":"POST","requestID":"d7e8dee0-2428-11f0-a0e6-516e7b85a777","responseTime":40,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f5a414186ba0bcaa8a1017544d373710"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97195311-651f-4a85-a8ed-726c5df35a64","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.855292} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.065998,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d7ea3e70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","rebac_allow":false,"scope_allow":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":"d7ea3e70-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.874403,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f5a414186ba0bcaa8a1017544d373710","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f5a414186ba0bcaa8a1017544d373710","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7ea3e70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/signaling 200 38ms","method":"POST","requestID":"d7ea3e70-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.074638781Z"}]},"request_id":"096c1762-6018-48fe-b474-7365c25fbb1f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.8623502} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f5a414186ba0bcaa8a1017544d373710","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7f058f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f5a414186ba0bcaa8a1017544d373710"} gateway-1 | {"time_local":"28/Apr/2025:12:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5a414186ba0bcaa8a1017544d373710"} device-1 | {"level":"info","message":"GET /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c? 200 14ms","method":"GET","requestID":"f5a414186ba0bcaa8a1017544d373710","responseTime":14,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6563fd37-b07c-44d4-b441-9bbdb189f3fc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.8682632} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.032202,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d7f058f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d7f058f0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s","level":"info","message":"auth send jwt","requestID":"4e5eaaab056ebcb25643da1ca1ed2e4b"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"4e5eaaab056ebcb25643da1ca1ed2e4b","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7f058f0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/e1201759-2c63-42e6-80a9-532e675016ad/signaling 200 34ms","method":"POST","requestID":"d7f058f0-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e5eaaab056ebcb25643da1ca1ed2e4b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Building connection plan","requestID":"04d5e12cfbc847c8c461f91b22b86227"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"111d74f2-4f24-40df-a297-2ce8e2821364"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"516a1bea-b927-474f-887a-d5bfb791b500"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"80b602f6-298b-402e-a1fd-e9d905c27155"}]},"level":"info","message":"Built pairwise service configurations","requestID":"04d5e12cfbc847c8c461f91b22b86227"} 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/e1201759-2c63-42e6-80a9-532e675016ad"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"04d5e12cfbc847c8c461f91b22b86227"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762616,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4e5eaaab056ebcb25643da1ca1ed2e4b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4e5eaaab056ebcb25643da1ca1ed2e4b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.634886,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841828,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgyOH0.26Bvopp_1GCiKYh8oIZDrhrJbcRY3fkndQdjqBaUL8s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:46.167355824Z"}]},"request_id":"54334614-3151-427b-a5b3-175d950b6d78","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.906118} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4e5eaaab056ebcb25643da1ca1ed2e4b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e5eaaab056ebcb25643da1ca1ed2e4b"} gateway-1 | {"time_local":"28/Apr/2025:12:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e1201759-2c63-42e6-80a9-532e675016ad? 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":"4e5eaaab056ebcb25643da1ca1ed2e4b"} device-1 | {"level":"info","message":"GET /devices/e1201759-2c63-42e6-80a9-532e675016ad? 200 13ms","method":"GET","requestID":"4e5eaaab056ebcb25643da1ca1ed2e4b","responseTime":13,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"9235ff44-82cb-45fd-8310-bc11ea58b10f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.9161859} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69e6736f-89f0-4971-9d70-c640ed7e2957","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841828.9164107} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821'","requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821'","requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 54ms","method":"POST","requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777","responseTime":54,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d7f5fe40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821","device":"e1201759-2c63-42e6-80a9-532e675016ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"04d5e12cfbc847c8c461f91b22b86227"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d805dcc0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:49Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83be1810-2e17-421e-be98-b330fc9c868e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841829.0092614} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.85109,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d805dcc0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d805dcc0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d805dcc0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/signaling 200 10ms","method":"POST","requestID":"d805dcc0-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d807b180-2428-11f0-a0e6-516e7b85a777"} device-1 | {"device":"e1201759-2c63-42e6-80a9-532e675016ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e1201759-2c63-42e6-80a9-532e675016ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:49Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37938477-8c11-4635-b4a4-e269564471e7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841829.0442278} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.785179,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d807b180-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","object_type":"device","rebac_allow":false,"scope_allow":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":"d807b180-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d807b180-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/e1201759-2c63-42e6-80a9-532e675016ad/signaling 200 33ms","method":"POST","requestID":"d807b180-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad/signaling"} device-1 | {"device":"5d6164a1-6766-4616-a711-fe6af10a4f9c","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":"e5a5290b-d104-46ef-9395-97283e80f821","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 7410921367056469342 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:G9x3\r\na=ice-pwd:PIEq+Iw7MCUGzQdMtDKtFR2f\r\na=ice-options:trickle\r\na=fingerprint:sha-256 3A:4C:BD:D6:5C:31:CD:76:06:7E:C7:72:A1:FC:B2:DC:EF:56:B1:89:BB:35:BB:2B:54:34:FF:F3:6D:D7:0B:3B\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"e1201759-2c63-42e6-80a9-532e675016ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"e1201759-2c63-42e6-80a9-532e675016ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:3091726603 1 udp 2113937151 dde183ed-272a-4efa-9153-697f81e6a580.local 33425 typ host generation 0 ufrag G9x3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e1201759-2c63-42e6-80a9-532e675016ad","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/e5a5290b-d104-46ef-9395-97283e80f821' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5a5290b-d104-46ef-9395-97283e80f821","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e1201759-2c63-42e6-80a9-532e675016ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cb6c70cad1a66d10055e2c20cc55674c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cb6c70cad1a66d10055e2c20cc55674c","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"5d6164a1-6766-4616-a711-fe6af10a4f9c","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":"5d6164a1-6766-4616-a711-fe6af10a4f9c","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":"5d6164a1-6766-4616-a711-fe6af10a4f9c","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 | {"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/e1201759-2c63-42e6-80a9-532e675016ad"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821"}}},"level":"info","message":"received a callback","requestID":"cb6c70cad1a66d10055e2c20cc55674c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"cb6c70cad1a66d10055e2c20cc55674c","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"cb6c70cad1a66d10055e2c20cc55674c"} device-1 | {"device":"5d6164a1-6766-4616-a711-fe6af10a4f9c","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":"5d6164a1-6766-4616-a711-fe6af10a4f9c","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":"e1201759-2c63-42e6-80a9-532e675016ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e1201759-2c63-42e6-80a9-532e675016ad","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"e5a5290b-d104-46ef-9395-97283e80f821","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e5a5290b-d104-46ef-9395-97283e80f821","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/e5a5290b-d104-46ef-9395-97283e80f821' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5a5290b-d104-46ef-9395-97283e80f821","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6e05cc9c4802bd91a5ef40a5e0e51ca1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6e05cc9c4802bd91a5ef40a5e0e51ca1","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/e1201759-2c63-42e6-80a9-532e675016ad"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821"}}},"level":"info","message":"received a callback","requestID":"6e05cc9c4802bd91a5ef40a5e0e51ca1"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d94efe90-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5a5290b-d104-46ef-9395-97283e80f821","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9fa7a58-838c-4c72-99fe-267339f460bb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.165781} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.783109,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d94efe90-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821","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":"d94efe90-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d94efe90-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/e5a5290b-d104-46ef-9395-97283e80f821 200 9ms","method":"GET","requestID":"d94efe90-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821"} gateway-1 | {"time_local":"28/Apr/2025:12:03:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e05cc9c4802bd91a5ef40a5e0e51ca1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"6e05cc9c4802bd91a5ef40a5e0e51ca1","responseTime":56,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d956c6c0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5736d368-ec77-478f-b0af-1344587c7421","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.2176018} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.403752,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d956c6c0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d956c6c0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d956c6c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/e1201759-2c63-42e6-80a9-532e675016ad/signaling 200 11ms","method":"POST","requestID":"d956c6c0-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d95c6c10-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60d4ba33-584e-4f34-8a28-9bf99b931fc7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.2548087} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.655274,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d95c6c10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d95c6c10-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d95c6c10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/signaling 200 11ms","method":"POST","requestID":"d95c6c10-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMX0.Nzapk9UOqxfQWbqb9UDDVypz_25fRVyaAvfTXOoU_SA","level":"info","message":"auth send jwt","requestID":"e0edf8b8a322255215b277e44553b5c7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e0edf8b8a322255215b277e44553b5c7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1","requestID":"e0edf8b8a322255215b277e44553b5c7"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.601508,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0edf8b8a322255215b277e44553b5c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841831,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMX0.Nzapk9UOqxfQWbqb9UDDVypz_25fRVyaAvfTXOoU_SA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0edf8b8a322255215b277e44553b5c7","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1","requestID":"e0edf8b8a322255215b277e44553b5c7"} gateway-1 | {"time_local":"28/Apr/2025:12:03:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0edf8b8a322255215b277e44553b5c7"} experiment-1 | {"level":"info","message":"GET /experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1 200 33ms","method":"GET","requestID":"e0edf8b8a322255215b277e44553b5c7","responseTime":33,"status":200,"url":"/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMX0.Nzapk9UOqxfQWbqb9UDDVypz_25fRVyaAvfTXOoU_SA","level":"info","message":"auth send jwt","requestID":"ebc317f4192f573cd682ce5b5841b4b0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ebc317f4192f573cd682ce5b5841b4b0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1","requestID":"ebc317f4192f573cd682ce5b5841b4b0"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.68166,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ebc317f4192f573cd682ce5b5841b4b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841831,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMX0.Nzapk9UOqxfQWbqb9UDDVypz_25fRVyaAvfTXOoU_SA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ebc317f4192f573cd682ce5b5841b4b0","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Attempting to finish experiment","requestID":"ebc317f4192f573cd682ce5b5841b4b0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d97d1370-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.000796,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d97d1370-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841831,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMX0.Nzapk9UOqxfQWbqb9UDDVypz_25fRVyaAvfTXOoU_SA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d97d1370-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821","device":"e1201759-2c63-42e6-80a9-532e675016ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"5d6164a1-6766-4616-a711-fe6af10a4f9c","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":"5d6164a1-6766-4616-a711-fe6af10a4f9c","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":"5d6164a1-6766-4616-a711-fe6af10a4f9c","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/e5a5290b-d104-46ef-9395-97283e80f821' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5a5290b-d104-46ef-9395-97283e80f821","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5a5290b-d104-46ef-9395-97283e80f821': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5a5290b-d104-46ef-9395-97283e80f821","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"8114cbe2-e671-4b8c-b7f1-442904497664","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.503424} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9b53d6b-11ed-443f-b867-c14e4b2fa441","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.5035744} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c508ed5e3ed630002b6890ff8d96fa4d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c508ed5e3ed630002b6890ff8d96fa4d","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"34213e89accf1d65fb5e2e67c7c1729f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"d97d1370-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"34213e89accf1d65fb5e2e67c7c1729f","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821"}}},"level":"info","message":"received a callback","requestID":"c508ed5e3ed630002b6890ff8d96fa4d"} 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/e1201759-2c63-42e6-80a9-532e675016ad"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821"}}},"level":"info","message":"received a callback","requestID":"34213e89accf1d65fb5e2e67c7c1729f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d97d1370-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/e5a5290b-d104-46ef-9395-97283e80f821 204 88ms","method":"DELETE","requestID":"d97d1370-2428-11f0-a0e6-516e7b85a777","responseTime":88,"status":204,"url":"/peerconnections/e5a5290b-d104-46ef-9395-97283e80f821"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"},"level":"info","message":"Successfully finished experiment","requestID":"ebc317f4192f573cd682ce5b5841b4b0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d990e990-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1201759-2c63-42e6-80a9-532e675016ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae6e9cf4-9889-41d6-a7e3-f9db1a169e16","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.5976079} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.782719,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d990e990-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d990e990-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d990e990-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/e1201759-2c63-42e6-80a9-532e675016ad/signaling 200 9ms","method":"POST","requestID":"d990e990-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/e1201759-2c63-42e6-80a9-532e675016ad/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d9929740-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e6a155c-e3d3-46d4-af22-fa86e43592d1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e6a155c-e3d3-46d4-af22-fa86e43592d1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"e41a3ea0-51dc-4241-b981-c67777795036","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.6047635} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63760ceb-7688-46e1-bdea-2bbb0bd6acd5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.6051042} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"ebc317f4192f573cd682ce5b5841b4b0","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d6164a1-6766-4616-a711-fe6af10a4f9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aee8fd7f-ae85-45b5-9fd8-a87f1d580824","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.6331825} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.651899,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d9929740-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c","object_type":"device","rebac_allow":false,"scope_allow":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":"d9929740-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d9929740-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/signaling 200 33ms","method":"POST","requestID":"d9929740-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1","requestID":"ebc317f4192f573cd682ce5b5841b4b0"} gateway-1 | {"time_local":"28/Apr/2025:12:03:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.253","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ebc317f4192f573cd682ce5b5841b4b0"} experiment-1 | {"level":"info","message":"DELETE /experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1 204 274ms","method":"DELETE","requestID":"ebc317f4192f573cd682ce5b5841b4b0","responseTime":274,"status":204,"url":"/experiments/2e6a155c-e3d3-46d4-af22-fa86e43592d1"} gateway-1 | {"time_local":"28/Apr/2025:12:03:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2274","request_time":"4.444","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"aaf5d4be3a11a1bbb890ef2eadde9f45"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 225ms","method":"POST","requestID":"c508ed5e3ed630002b6890ff8d96fa4d","responseTime":225,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch","requestID":"c508ed5e3ed630002b6890ff8d96fa4d"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5d6164a1-6766-4616-a711-fe6af10a4f9c' closed"} gateway-1 | {"time_local":"28/Apr/2025:12:03:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch","requestID":"34213e89accf1d65fb5e2e67c7c1729f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 224ms","method":"POST","requestID":"34213e89accf1d65fb5e2e67c7c1729f","responseTime":224,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMX0.Nzapk9UOqxfQWbqb9UDDVypz_25fRVyaAvfTXOoU_SA","level":"info","message":"auth send jwt","requestID":"e5bd46720329e820d2f20b41e867c0ed"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e5bd46720329e820d2f20b41e867c0ed","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e5bd46720329e820d2f20b41e867c0ed"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:51Z"} gateway-1 | {"time_local":"28/Apr/2025:12:03:51 +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.234","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d235337b83ae3fc64a061175c0a729bb"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.932996,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e5bd46720329e820d2f20b41e867c0ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841831,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMX0.Nzapk9UOqxfQWbqb9UDDVypz_25fRVyaAvfTXOoU_SA"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e1201759-2c63-42e6-80a9-532e675016ad' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e5bd46720329e820d2f20b41e867c0ed","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"df46da22-1768-4e38-b366-436eae60519b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.7799869} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5bd46720329e820d2f20b41e867c0ed","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ceaba0a5-7d59-4dc8-8f66-dedc8fc47e82","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.7849035} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e5bd46720329e820d2f20b41e867c0ed","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"b2f0592f-e883-4d79-85cd-cd2c36398ee8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.7955546} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d051ce70-1326-4af6-9a76-993190bf3c0a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.7956047} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"e5bd46720329e820d2f20b41e867c0ed","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.795498665Z"}]},"request_id":"a5bc1b43-459e-4faf-a45b-6928e64943fd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.7998283} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"e5bd46720329e820d2f20b41e867c0ed","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e5bd46720329e820d2f20b41e867c0ed"} gateway-1 | {"time_local":"28/Apr/2025:12:03:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5bd46720329e820d2f20b41e867c0ed"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"e5bd46720329e820d2f20b41e867c0ed","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMX0.Nzapk9UOqxfQWbqb9UDDVypz_25fRVyaAvfTXOoU_SA","level":"info","message":"auth send jwt","requestID":"bacab27f107ec82caaf0fd2365f9d288"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bacab27f107ec82caaf0fd2365f9d288","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bacab27f107ec82caaf0fd2365f9d288"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.861914,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bacab27f107ec82caaf0fd2365f9d288","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841831,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMX0.Nzapk9UOqxfQWbqb9UDDVypz_25fRVyaAvfTXOoU_SA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bacab27f107ec82caaf0fd2365f9d288","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dae5659b-4ad3-4bed-aacc-8035b029aee1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.8733613} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"bacab27f107ec82caaf0fd2365f9d288","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62553487-e1d6-434c-934b-e0c40c08c5ce","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.8784635} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bacab27f107ec82caaf0fd2365f9d288","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"7a8533a3-b215-4595-9b5b-59633e328feb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.887986} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f43b12e-1d4c-444c-9f9a-eee9f5dd58ac","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.8882687} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"bacab27f107ec82caaf0fd2365f9d288","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.887967501Z"}]},"request_id":"bf2be96b-0afe-4dc1-b676-20618e1560ef","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841831.8924294} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bacab27f107ec82caaf0fd2365f9d288","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bacab27f107ec82caaf0fd2365f9d288"} gateway-1 | {"time_local":"28/Apr/2025:12:03:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bacab27f107ec82caaf0fd2365f9d288"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"bacab27f107ec82caaf0fd2365f9d288","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMn0.UqJ3WxeSm2FwwGngl2dbU_pS-Nwx4fwmJmaO8c6ppDc","level":"info","message":"auth send jwt","requestID":"c2f0c968ef6155199605f7bd8c0a8bde"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c2f0c968ef6155199605f7bd8c0a8bde"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"c2f0c968ef6155199605f7bd8c0a8bde","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755146,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c2f0c968ef6155199605f7bd8c0a8bde","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841832,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMn0.UqJ3WxeSm2FwwGngl2dbU_pS-Nwx4fwmJmaO8c6ppDc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c2f0c968ef6155199605f7bd8c0a8bde","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.887967501Z"}]},"request_id":"d2c0848e-cbac-4e32-9d63-c61fef20a619","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841832.8930862} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c2f0c968ef6155199605f7bd8c0a8bde","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc065ed1-1233-48a6-a7d1-14f79b723bbd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841832.899591} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c2f0c968ef6155199605f7bd8c0a8bde","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.887967501Z"}]},"request_id":"8fe65418-05e2-41d0-a524-15a5a0a5ffa9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841832.939237} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c2f0c968ef6155199605f7bd8c0a8bde","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c2f0c968ef6155199605f7bd8c0a8bde"} gateway-1 | {"time_local":"28/Apr/2025:12:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.086","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c2f0c968ef6155199605f7bd8c0a8bde"} device-1 | {"level":"info","message":"PATCH /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac 200 57ms","method":"PATCH","requestID":"c2f0c968ef6155199605f7bd8c0a8bde","responseTime":57,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMn0.UqJ3WxeSm2FwwGngl2dbU_pS-Nwx4fwmJmaO8c6ppDc","level":"info","message":"auth send jwt","requestID":"0015a40bd6178d1fad4d25021d9b94ee"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0015a40bd6178d1fad4d25021d9b94ee","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0015a40bd6178d1fad4d25021d9b94ee"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960501,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0015a40bd6178d1fad4d25021d9b94ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841832,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMn0.UqJ3WxeSm2FwwGngl2dbU_pS-Nwx4fwmJmaO8c6ppDc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0015a40bd6178d1fad4d25021d9b94ee","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMn0.UqJ3WxeSm2FwwGngl2dbU_pS-Nwx4fwmJmaO8c6ppDc","level":"info","message":"auth send jwt","requestID":"28f4cc95ce1c598cac957fde9468487b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"28f4cc95ce1c598cac957fde9468487b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"28f4cc95ce1c598cac957fde9468487b"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751157,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"28f4cc95ce1c598cac957fde9468487b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841832,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzMn0.UqJ3WxeSm2FwwGngl2dbU_pS-Nwx4fwmJmaO8c6ppDc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"28f4cc95ce1c598cac957fde9468487b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0015a40bd6178d1fad4d25021d9b94ee"} gateway-1 | {"time_local":"28/Apr/2025:12:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/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.18","requestID":"0015a40bd6178d1fad4d25021d9b94ee"} device-1 | {"level":"info","message":"POST /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/websocket 200 42ms","method":"POST","requestID":"0015a40bd6178d1fad4d25021d9b94ee","responseTime":42,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.795498665Z"}]},"request_id":"3c55d7d0-e765-42d5-acc3-caeaa684c46a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841832.9935434} device-1 | {"level":"info","message":"device 'http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac' connected"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"28f4cc95ce1c598cac957fde9468487b","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"755b55e1-2ff1-48d8-873d-14aecc3f5f83","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841832.999264} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"28f4cc95ce1c598cac957fde9468487b","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.795498665Z"}]},"request_id":"6115d841-0971-4083-82c9-af6c803ecac6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.03795} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"28f4cc95ce1c598cac957fde9468487b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"28f4cc95ce1c598cac957fde9468487b"} device-1 | {"level":"info","message":"PATCH /devices/ee132c1d-9502-42d4-bc13-5e6962124b35 200 59ms","method":"PATCH","requestID":"28f4cc95ce1c598cac957fde9468487b","responseTime":59,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35"} gateway-1 | {"time_local":"28/Apr/2025:12:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ee132c1d-9502-42d4-bc13-5e6962124b35 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"28f4cc95ce1c598cac957fde9468487b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo","level":"info","message":"auth send jwt","requestID":"65c06d85f7a0375094c34492fcd1931c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"65c06d85f7a0375094c34492fcd1931c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"65c06d85f7a0375094c34492fcd1931c"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92202,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"65c06d85f7a0375094c34492fcd1931c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"65c06d85f7a0375094c34492fcd1931c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"65c06d85f7a0375094c34492fcd1931c"} gateway-1 | {"time_local":"28/Apr/2025:12:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ee132c1d-9502-42d4-bc13-5e6962124b35/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.18","requestID":"65c06d85f7a0375094c34492fcd1931c"} device-1 | {"level":"info","message":"POST /devices/ee132c1d-9502-42d4-bc13-5e6962124b35/websocket 200 42ms","method":"POST","requestID":"65c06d85f7a0375094c34492fcd1931c","responseTime":42,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo","level":"info","message":"auth send jwt","requestID":"3562da417551890a855f4b76206f059c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3562da417551890a855f4b76206f059c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3562da417551890a855f4b76206f059c"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672908,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"3562da417551890a855f4b76206f059c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"3562da417551890a855f4b76206f059c","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.795498665Z"}]},"request_id":"f994540d-e8dc-423e-ad2d-19fc66673498","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.127835} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3562da417551890a855f4b76206f059c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3562da417551890a855f4b76206f059c"} gateway-1 | {"time_local":"28/Apr/2025:12:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ee132c1d-9502-42d4-bc13-5e6962124b35? 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":"3562da417551890a855f4b76206f059c"} device-1 | {"level":"info","message":"GET /devices/ee132c1d-9502-42d4-bc13-5e6962124b35? 200 35ms","method":"GET","requestID":"3562da417551890a855f4b76206f059c","responseTime":35,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo","level":"info","message":"auth send jwt","requestID":"f9ef5d444260e2a6369c18cbab206614"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f9ef5d444260e2a6369c18cbab206614","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f9ef5d444260e2a6369c18cbab206614"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935073,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f9ef5d444260e2a6369c18cbab206614","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f9ef5d444260e2a6369c18cbab206614","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.887967501Z"}]},"request_id":"1d618c32-34b9-46ba-a894-e92997cadc27","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.1433666} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f9ef5d444260e2a6369c18cbab206614","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f9ef5d444260e2a6369c18cbab206614"} gateway-1 | {"time_local":"28/Apr/2025:12:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac? 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":"f9ef5d444260e2a6369c18cbab206614"} device-1 | {"level":"info","message":"GET /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac? 200 34ms","method":"GET","requestID":"f9ef5d444260e2a6369c18cbab206614","responseTime":34,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo","level":"info","message":"auth send jwt","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.78008,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4b5cf60028900ec5a7ee2cba7bb2583a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Attempting to run experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Attempting to book experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Successfully booked experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da89a170-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da89c880-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928124,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"da89a170-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"da89a170-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635221,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"da89c880-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"da89c880-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.795498665Z"}]},"request_id":"f0f0d889-11b3-49d1-bce0-c0064428e86d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.231128} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da89a170-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.887967501Z"}]},"request_id":"09a85bc8-44cf-4f22-8b2a-f5c1b2fc1c93","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.231798} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da89c880-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da89a170-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/ee132c1d-9502-42d4-bc13-5e6962124b35? 200 14ms","method":"GET","requestID":"da89a170-2428-11f0-a0e6-516e7b85a777","responseTime":14,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da89c880-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac? 200 14ms","method":"GET","requestID":"da89c880-2428-11f0-a0e6-516e7b85a777","responseTime":14,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Setting up experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Successfully set up experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da99a700-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da99ce10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da9a1c30-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Successfully running experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932385,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"da99a700-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da99a700-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.825612,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"da99ce10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"da99ce10-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.795498665Z"}]},"request_id":"e9e22b41-8805-4f1f-bd0d-4a4d8b479355","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.339412} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da99a700-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.887967501Z"}]},"request_id":"2862eb16-5523-43ca-af56-f5d3af6f22aa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.340083} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"da99ce10-2428-11f0-a0e6-516e7b85a777","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efc735b9-450a-43be-8e15-669e91f66808","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.3613458} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.516842,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"da9a1c30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","rebac_allow":false,"scope_allow":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":"da9a1c30-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da99a700-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/ee132c1d-9502-42d4-bc13-5e6962124b35? 200 41ms","method":"GET","requestID":"da99a700-2428-11f0-a0e6-516e7b85a777","responseTime":41,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd5f30749-d37a-431b-99d2-0e4a2a75c483#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd5f30749-d37a-431b-99d2-0e4a2a75c483","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"2acfc52d-30e5-4bca-935d-5dd06943aa6f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.3690047} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da99ce10-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e2177b5-7687-469b-97c6-a0008aa20044","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.3691125} device-1 | {"level":"info","message":"GET /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac? 200 41ms","method":"GET","requestID":"da99ce10-2428-11f0-a0e6-516e7b85a777","responseTime":41,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da9a1c30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ee132c1d-9502-42d4-bc13-5e6962124b35/signaling 200 41ms","method":"POST","requestID":"da9a1c30-2428-11f0-a0e6-516e7b85a777","responseTime":41,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"daa084d0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"daa0fa00-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20b8ef19-0cbb-4472-ab13-c2865c4669ed","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.377902} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.511128,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} gateway-1 | {"time_local":"28/Apr/2025:12:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 205ms","method":"POST","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a","responseTime":205,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"daa084d0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","rebac_allow":false,"scope_allow":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":"daa084d0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c121086d-7363-482b-8ee2-db4fb15dca71","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.3813274} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.985784,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"daa0fa00-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"daa0fa00-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"daa084d0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ee132c1d-9502-42d4-bc13-5e6962124b35/signaling 200 37ms","method":"POST","requestID":"daa084d0-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo","level":"info","message":"auth send jwt","requestID":"1f3e1d407caebbc3189e714e7541eaea"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"1f3e1d407caebbc3189e714e7541eaea","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"daa67840-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1f3e1d407caebbc3189e714e7541eaea"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"daa0fa00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/signaling 200 38ms","method":"POST","requestID":"daa0fa00-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb2561d8-3536-4739-a47a-7536ee838b67","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.416818} authorization-1 | {"client_addr":"127.0.0.1:52638","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850035,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1f3e1d407caebbc3189e714e7541eaea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1f3e1d407caebbc3189e714e7541eaea","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.425145,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"daa67840-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","rebac_allow":false,"scope_allow":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":"daa67840-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.795498665Z"}]},"request_id":"eb8cf2b1-524e-4d41-be21-f04123cc914b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.422697} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1f3e1d407caebbc3189e714e7541eaea","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"daa67840-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/signaling 200 15ms","method":"POST","requestID":"daa67840-2428-11f0-a0e6-516e7b85a777","responseTime":15,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1f3e1d407caebbc3189e714e7541eaea"} gateway-1 | {"time_local":"28/Apr/2025:12:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ee132c1d-9502-42d4-bc13-5e6962124b35? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f3e1d407caebbc3189e714e7541eaea"} device-1 | {"level":"info","message":"GET /devices/ee132c1d-9502-42d4-bc13-5e6962124b35? 200 14ms","method":"GET","requestID":"1f3e1d407caebbc3189e714e7541eaea","responseTime":14,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Building connection plan","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"35951f7d-a7db-49c6-bd18-c46ff6ec4ab5"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"9aadcec4-9970-4e8c-81e9-2639fee4eb4a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"96afbb6b-6aad-43b9-a3a9-3791610b2791"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} 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/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"daa91050-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo","level":"info","message":"auth send jwt","requestID":"5cbb2444b36c5c4a2ad5a32eebf1a7a6"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5cbb2444b36c5c4a2ad5a32eebf1a7a6"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":25.124514,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"daa91050-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"daa91050-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.620212,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5cbb2444b36c5c4a2ad5a32eebf1a7a6","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5cbb2444b36c5c4a2ad5a32eebf1a7a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841833,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzM30.7BjHd5HzFOJugKs6gzKakSHgwiB_nhxJGOVXUuAjEgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5cbb2444b36c5c4a2ad5a32eebf1a7a6","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:51.887967501Z"}]},"request_id":"dabef83a-5c1f-4800-96f7-9af807a583dd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.4642112} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5cbb2444b36c5c4a2ad5a32eebf1a7a6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5cbb2444b36c5c4a2ad5a32eebf1a7a6"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"21a92df3-d10b-4408-8d8e-700d4bcb41ac","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.4673622} device-1 | {"level":"info","message":"GET /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac? 200 10ms","method":"GET","requestID":"5cbb2444b36c5c4a2ad5a32eebf1a7a6","responseTime":10,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac? 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":"5cbb2444b36c5c4a2ad5a32eebf1a7a6"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a652fba-8f9a-438c-ab9a-d6df1ffef35a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.4675443} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"daa91050-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"daa91050-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"daa91050-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce'","requestID":"daa91050-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce'","requestID":"daa91050-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"daa91050-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 78ms","method":"POST","requestID":"daa91050-2428-11f0-a0e6-516e7b85a777","responseTime":78,"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":"daa91050-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4b5cf60028900ec5a7ee2cba7bb2583a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dabce670-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfb01698-c880-4df5-9d90-3fd3d5282c17","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.5638013} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.464702,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dabce670-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dabce670-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dabce670-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ee132c1d-9502-42d4-bc13-5e6962124b35/signaling 200 9ms","method":"POST","requestID":"dabce670-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dabe9420-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8bc7a3e-8946-435c-89fc-d0a11d5fc29f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841833.5739937} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.261814,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dabe9420-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dabe9420-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dabe9420-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/signaling 200 32ms","method":"POST","requestID":"dabe9420-2428-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/signaling"} device-1 | {"device":"ee132c1d-9502-42d4-bc13-5e6962124b35","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":"f4e006b5-1aee-4825-80c3-e450e9fdc9ce","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","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":"f4e006b5-1aee-4825-80c3-e450e9fdc9ce","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","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":"e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","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":"e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","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":"e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","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/f4e006b5-1aee-4825-80c3-e450e9fdc9ce' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4e006b5-1aee-4825-80c3-e450e9fdc9ce","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f38ea2f09fb1ffb4d1eae343264b50f5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f38ea2f09fb1ffb4d1eae343264b50f5","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce"}}},"level":"info","message":"received a callback","requestID":"f38ea2f09fb1ffb4d1eae343264b50f5"} device-1 | {"device":"ee132c1d-9502-42d4-bc13-5e6962124b35","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":"ee132c1d-9502-42d4-bc13-5e6962124b35","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":"ee132c1d-9502-42d4-bc13-5e6962124b35","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":"f38ea2f09fb1ffb4d1eae343264b50f5","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"f38ea2f09fb1ffb4d1eae343264b50f5"} device-1 | {"device":"e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","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 | {"data":{"peerconnection":"f4e006b5-1aee-4825-80c3-e450e9fdc9ce","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ee132c1d-9502-42d4-bc13-5e6962124b35","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":"e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","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":"ee132c1d-9502-42d4-bc13-5e6962124b35","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":"f4e006b5-1aee-4825-80c3-e450e9fdc9ce","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/f4e006b5-1aee-4825-80c3-e450e9fdc9ce' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4e006b5-1aee-4825-80c3-e450e9fdc9ce","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c65ea6a3740506736c751ab967ee09c5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c65ea6a3740506736c751ab967ee09c5","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/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce"}}},"level":"info","message":"received a callback","requestID":"c65ea6a3740506736c751ab967ee09c5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"dbff7890-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4e006b5-1aee-4825-80c3-e450e9fdc9ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db8a53f4-2098-4f62-aca8-5ba4891c1de1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841835.6781805} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.989877,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dbff7890-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce","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":"dbff7890-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"dbff7890-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce 200 9ms","method":"GET","requestID":"dbff7890-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 89ms","method":"POST","requestID":"c65ea6a3740506736c751ab967ee09c5","responseTime":89,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.092","http_referrer":"","http_user_agent":"node-fetch","requestID":"c65ea6a3740506736c751ab967ee09c5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc07dd00-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b0c0df7-9142-452b-8363-d9e79356479d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841835.7330105} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.678504,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dc07dd00-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dc07dd00-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc07dd00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/signaling 200 34ms","method":"POST","requestID":"dc07dd00-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc0d5b40-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db50996f-b6f7-4048-b8f0-cb27ebd9588d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841835.7685542} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.756836,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dc0d5b40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc0d5b40-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc0d5b40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ee132c1d-9502-42d4-bc13-5e6962124b35/signaling 200 9ms","method":"POST","requestID":"dc0d5b40-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzNX0.EwuWjX6xuC4ZV_cHZuUO9OqDliLXM431pLH0qiEpj0U","level":"info","message":"auth send jwt","requestID":"b1b4de535aec621b447295fc430288d3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b1b4de535aec621b447295fc430288d3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483","requestID":"b1b4de535aec621b447295fc430288d3"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.660822,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"b1b4de535aec621b447295fc430288d3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841835,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzNX0.EwuWjX6xuC4ZV_cHZuUO9OqDliLXM431pLH0qiEpj0U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b1b4de535aec621b447295fc430288d3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483","requestID":"b1b4de535aec621b447295fc430288d3"} gateway-1 | {"time_local":"28/Apr/2025:12:03:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1b4de535aec621b447295fc430288d3"} experiment-1 | {"level":"info","message":"GET /experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483 200 9ms","method":"GET","requestID":"b1b4de535aec621b447295fc430288d3","responseTime":9,"status":200,"url":"/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzNX0.EwuWjX6xuC4ZV_cHZuUO9OqDliLXM431pLH0qiEpj0U","level":"info","message":"auth send jwt","requestID":"a79d006d90e682163eb5f66bd619ba2e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a79d006d90e682163eb5f66bd619ba2e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483","requestID":"a79d006d90e682163eb5f66bd619ba2e"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.706051,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a79d006d90e682163eb5f66bd619ba2e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841835,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzNX0.EwuWjX6xuC4ZV_cHZuUO9OqDliLXM431pLH0qiEpj0U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a79d006d90e682163eb5f66bd619ba2e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Attempting to finish experiment","requestID":"a79d006d90e682163eb5f66bd619ba2e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"dc2c2de0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.64764,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dc2c2de0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841835,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzNX0.EwuWjX6xuC4ZV_cHZuUO9OqDliLXM431pLH0qiEpj0U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"dc2c2de0-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"ee132c1d-9502-42d4-bc13-5e6962124b35","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":"ee132c1d-9502-42d4-bc13-5e6962124b35","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":"ee132c1d-9502-42d4-bc13-5e6962124b35","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":"e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","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":"e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","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":"e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","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/f4e006b5-1aee-4825-80c3-e450e9fdc9ce' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4e006b5-1aee-4825-80c3-e450e9fdc9ce","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4e006b5-1aee-4825-80c3-e450e9fdc9ce': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4e006b5-1aee-4825-80c3-e450e9fdc9ce","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"3902a715-df8a-4812-bb69-6bc8ecd2a466","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.0057013} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8b04cb60d636c0273d54fa7964c2cbc4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25b8e567-c332-40ac-ad57-9a464094c6eb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.0059664} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8b04cb60d636c0273d54fa7964c2cbc4","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"dc2c2de0-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/relations/update"} 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/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce"}}},"level":"info","message":"received a callback","requestID":"8b04cb60d636c0273d54fa7964c2cbc4"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bdb1e7756a221c2b87e279d6aba0cd7c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bdb1e7756a221c2b87e279d6aba0cd7c","responseTime":0,"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/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce"}}},"level":"info","message":"received a callback","requestID":"bdb1e7756a221c2b87e279d6aba0cd7c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"dc2c2de0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce 204 93ms","method":"DELETE","requestID":"dc2c2de0-2428-11f0-a0e6-516e7b85a777","responseTime":93,"status":204,"url":"/peerconnections/f4e006b5-1aee-4825-80c3-e450e9fdc9ce"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"},"level":"info","message":"Successfully finished experiment","requestID":"a79d006d90e682163eb5f66bd619ba2e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc407930-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:56Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4c7e93b-9fbc-46df-8d5c-54a65b8266ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ae77248-c7c9-4cd1-91db-acdad24a784d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.1047676} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.331925,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dc407930-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc407930-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc407930-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/signaling 200 10ms","method":"POST","requestID":"dc407930-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc424df0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd5f30749-d37a-431b-99d2-0e4a2a75c483': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd5f30749-d37a-431b-99d2-0e4a2a75c483","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"36e9a3e2-7e48-42c7-98be-93751fb3bc8a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.1129072} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f19092f9-a3a7-46a6-a44b-17d1e950e640","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.1130974} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"a79d006d90e682163eb5f66bd619ba2e","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:56Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee132c1d-9502-42d4-bc13-5e6962124b35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c214733d-3def-4921-8c70-b8ea26b62562","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.1152046} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.326248,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dc424df0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc424df0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc424df0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ee132c1d-9502-42d4-bc13-5e6962124b35/signaling 200 9ms","method":"POST","requestID":"dc424df0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/ee132c1d-9502-42d4-bc13-5e6962124b35/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483","requestID":"a79d006d90e682163eb5f66bd619ba2e"} gateway-1 | {"time_local":"28/Apr/2025:12:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.278","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a79d006d90e682163eb5f66bd619ba2e"} gateway-1 | {"time_local":"28/Apr/2025:12:03:56 +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.221","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"31f4b00f728e106bf2ded493d327bbfc"} gateway-1 | {"time_local":"28/Apr/2025:12:03:56 +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.123","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2fc64e1f246b2cb30e14f66ebb3b2d5d"} experiment-1 | {"level":"info","message":"DELETE /experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483 204 255ms","method":"DELETE","requestID":"a79d006d90e682163eb5f66bd619ba2e","responseTime":255,"status":204,"url":"/experiments/d5f30749-d37a-431b-99d2-0e4a2a75c483"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e4c7e93b-9fbc-46df-8d5c-54a65b8266ac' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ee132c1d-9502-42d4-bc13-5e6962124b35' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 208ms","method":"POST","requestID":"8b04cb60d636c0273d54fa7964c2cbc4","responseTime":208,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.210","http_referrer":"","http_user_agent":"node-fetch","requestID":"8b04cb60d636c0273d54fa7964c2cbc4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 207ms","method":"POST","requestID":"bdb1e7756a221c2b87e279d6aba0cd7c","responseTime":207,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.211","http_referrer":"","http_user_agent":"node-fetch","requestID":"bdb1e7756a221c2b87e279d6aba0cd7c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzNn0.1Nyen_Wwhk16wuW5ErcRjqwsuh2M9za7MWuo5TAUVx4","level":"info","message":"auth send jwt","requestID":"b7c8bd5be3bfde80e171bc63b0319389"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"b7c8bd5be3bfde80e171bc63b0319389","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b7c8bd5be3bfde80e171bc63b0319389"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.614303,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"b7c8bd5be3bfde80e171bc63b0319389","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841836,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzNn0.1Nyen_Wwhk16wuW5ErcRjqwsuh2M9za7MWuo5TAUVx4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b7c8bd5be3bfde80e171bc63b0319389","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0e6dd21c-a34c-42c9-9c66-4364d3955a37","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.2630365} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b7c8bd5be3bfde80e171bc63b0319389","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6cb9876-28be-4be7-bac4-12441b60599f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.292799} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b7c8bd5be3bfde80e171bc63b0319389","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ca496e2-5517-4a41-accd-356a5f4688d3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.3042943} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"5b6b27cf-67ca-404b-ac85-baab73258d46","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.3053067} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"b7c8bd5be3bfde80e171bc63b0319389","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:56.305278895Z"}]},"request_id":"c9a0c444-2ae5-4737-9f41-41245834956d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.3099203} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b7c8bd5be3bfde80e171bc63b0319389","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b7c8bd5be3bfde80e171bc63b0319389"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7c8bd5be3bfde80e171bc63b0319389"} device-1 | {"level":"info","message":"POST /devices? 201 68ms","method":"POST","requestID":"b7c8bd5be3bfde80e171bc63b0319389","responseTime":68,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzNn0.1Nyen_Wwhk16wuW5ErcRjqwsuh2M9za7MWuo5TAUVx4","level":"info","message":"auth send jwt","requestID":"63cc03a4d18908002cac5397af029a26"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"63cc03a4d18908002cac5397af029a26","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"63cc03a4d18908002cac5397af029a26"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.849207,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"63cc03a4d18908002cac5397af029a26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841836,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzNn0.1Nyen_Wwhk16wuW5ErcRjqwsuh2M9za7MWuo5TAUVx4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"63cc03a4d18908002cac5397af029a26","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1bdde837-aa43-4642-b1cf-7289a55b6c35","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.397218} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"63cc03a4d18908002cac5397af029a26","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4032d97-3035-4553-929e-e813fac776df","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.4026296} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"63cc03a4d18908002cac5397af029a26","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"74d7793e-df32-45f1-ab1f-4054be29251c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.440103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18449315-089c-42d4-ba47-f1e97f08ee70","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.4402313} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"63cc03a4d18908002cac5397af029a26","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:56.440077364Z"}]},"request_id":"4749ee94-209b-401e-bbc2-78d5cefec55c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841836.4442456} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"63cc03a4d18908002cac5397af029a26","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"63cc03a4d18908002cac5397af029a26"} device-1 | {"level":"info","message":"POST /devices? 201 104ms","method":"POST","requestID":"63cc03a4d18908002cac5397af029a26","responseTime":104,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.109","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"63cc03a4d18908002cac5397af029a26"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d4e79a27c3cd77f8780560663bc71794","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d4e79a27c3cd77f8780560663bc71794","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/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":"d4e79a27c3cd77f8780560663bc71794"} device-1 | {"level":"info","message":"OPTIONS /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/websocket 200 1ms","method":"OPTIONS","requestID":"d4e79a27c3cd77f8780560663bc71794","responseTime":1,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y","level":"info","message":"auth send jwt","requestID":"6749a0a2086a8f9e6fcd15220ce74638"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6749a0a2086a8f9e6fcd15220ce74638","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6749a0a2086a8f9e6fcd15220ce74638"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651709,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6749a0a2086a8f9e6fcd15220ce74638","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841838,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6749a0a2086a8f9e6fcd15220ce74638","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"49fdf61dabbcd80f55fe936507c1bf8d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"49fdf61dabbcd80f55fe936507c1bf8d","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6749a0a2086a8f9e6fcd15220ce74638"} gateway-1 | {"time_local":"28/Apr/2025:12:03:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6749a0a2086a8f9e6fcd15220ce74638"} device-1 | {"level":"info","message":"POST /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/websocket 200 44ms","method":"POST","requestID":"6749a0a2086a8f9e6fcd15220ce74638","responseTime":44,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:03:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/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":"49fdf61dabbcd80f55fe936507c1bf8d"} device-1 | {"level":"info","message":"OPTIONS /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/websocket 200 1ms","method":"OPTIONS","requestID":"49fdf61dabbcd80f55fe936507c1bf8d","responseTime":1,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y","level":"info","message":"auth send jwt","requestID":"9083f94cbdf3efe5a5239d818415df23"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9083f94cbdf3efe5a5239d818415df23","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9083f94cbdf3efe5a5239d818415df23"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:58Z"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f' connected"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854289,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9083f94cbdf3efe5a5239d818415df23","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841838,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9083f94cbdf3efe5a5239d818415df23","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9083f94cbdf3efe5a5239d818415df23"} device-1 | {"level":"info","message":"POST /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/websocket 200 40ms","method":"POST","requestID":"9083f94cbdf3efe5a5239d818415df23","responseTime":40,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:03:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9083f94cbdf3efe5a5239d818415df23"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y","level":"info","message":"auth send jwt","requestID":"e0804b6a33fdb54d24f1e6fdb0bd7580"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e0804b6a33fdb54d24f1e6fdb0bd7580","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0804b6a33fdb54d24f1e6fdb0bd7580"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766952,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0804b6a33fdb54d24f1e6fdb0bd7580","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841838,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e0804b6a33fdb54d24f1e6fdb0bd7580","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:56.305278895Z"}]},"request_id":"6885f070-28b1-48ab-b0dc-7eeaf42fe0ba","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841838.9289553} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"e0804b6a33fdb54d24f1e6fdb0bd7580","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0804b6a33fdb54d24f1e6fdb0bd7580"} gateway-1 | {"time_local":"28/Apr/2025:12:03:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5? 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":"e0804b6a33fdb54d24f1e6fdb0bd7580"} device-1 | {"level":"info","message":"GET /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5? 200 34ms","method":"GET","requestID":"e0804b6a33fdb54d24f1e6fdb0bd7580","responseTime":34,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y","level":"info","message":"auth send jwt","requestID":"80b95066f915ea8e797aa2e82cfe2394"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"80b95066f915ea8e797aa2e82cfe2394","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80b95066f915ea8e797aa2e82cfe2394"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658919,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"80b95066f915ea8e797aa2e82cfe2394","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841838,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"80b95066f915ea8e797aa2e82cfe2394","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:56.440077364Z"}]},"request_id":"32e9523b-b35e-4b6c-afaa-61b6a9f6ec71","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841838.9431028} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"80b95066f915ea8e797aa2e82cfe2394","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80b95066f915ea8e797aa2e82cfe2394"} device-1 | {"level":"info","message":"GET /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f? 200 10ms","method":"GET","requestID":"80b95066f915ea8e797aa2e82cfe2394","responseTime":10,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f?"} gateway-1 | {"time_local":"28/Apr/2025:12:03:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f? 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":"80b95066f915ea8e797aa2e82cfe2394"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y","level":"info","message":"auth send jwt","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d76e42c1b8c313058cb96e7c73a1ceef","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.702666,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d76e42c1b8c313058cb96e7c73a1ceef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841838,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"d76e42c1b8c313058cb96e7c73a1ceef","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Attempting to run experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Attempting to book experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Successfully booked experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de002a90-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de0051a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.617436,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de002a90-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841838,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"de002a90-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54682","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:54682","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763994,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de0051a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841838,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de0051a0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:56.305278895Z"}]},"request_id":"4a1f9ab8-ffc7-42a1-9ff9-4fcca3faff89","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.0405872} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"de002a90-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:56.440077364Z"}]},"request_id":"29f8200e-6690-4552-abdb-2bf14cbfc06b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.043632} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"de0051a0-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de002a90-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5? 200 13ms","method":"GET","requestID":"de002a90-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de0051a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f? 200 13ms","method":"GET","requestID":"de0051a0-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Setting up experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Successfully set up experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de10a550-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de10cc60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de10f370-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Successfully running experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} authorization-1 | {"client_addr":"127.0.0.1:54682","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:54682","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.990127,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de10a550-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841838,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"de10a550-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.813726,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de10cc60-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841838,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"de10cc60-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03: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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:56.305278895Z"}]},"request_id":"ad38cb42-5dac-47f5-866a-b503bbae6bb9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.1759655} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"de10a550-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:56.440077364Z"}]},"request_id":"abf77759-3206-4e88-854a-c527ad11b286","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.1774547} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfd69a99-2f0a-4be2-b305-51ac20afceba","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.1777503} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"de10cc60-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.821337,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de10f370-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","object_type":"device","rebac_allow":false,"scope_allow":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":"de10f370-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de10a550-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5? 200 42ms","method":"GET","requestID":"de10a550-2428-11f0-a0e6-516e7b85a777","responseTime":42,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de10cc60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f? 200 41ms","method":"GET","requestID":"de10cc60-2428-11f0-a0e6-516e7b85a777","responseTime":41,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de10f370-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/signaling 200 41ms","method":"POST","requestID":"de10f370-2428-11f0-a0e6-516e7b85a777","responseTime":41,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16ae71fd-c7b7-424e-a6cc-09888fa90ee7#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16ae71fd-c7b7-424e-a6cc-09888fa90ee7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"1eef46da-4cc2-4997-90a7-7e4db651635f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.1847384} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed1f08a7-114b-4171-b090-517699a26183","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.1849682} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de178320-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"d76e42c1b8c313058cb96e7c73a1ceef","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de17d140-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e99fefe-5526-4836-b860-0bd26f0008f0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.1909373} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.520312,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de178320-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de178320-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de178320-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b5dfadad-c07c-411a-926c-9cd165d9fd45","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.1925778} device-1 | {"level":"info","message":"POST /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/signaling 200 10ms","method":"POST","requestID":"de178320-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.841736,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de17d140-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de17d140-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de17d140-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/signaling 200 33ms","method":"POST","requestID":"de17d140-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de1d0160-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} gateway-1 | {"time_local":"28/Apr/2025:12:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.277","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"level":"info","message":"POST /experiments? 201 273ms","method":"POST","requestID":"d76e42c1b8c313058cb96e7c73a1ceef","responseTime":273,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4","level":"info","message":"auth send jwt","requestID":"7e30d227a4d1da595aa5e0d794b863df"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"120d89a3-0a0c-40c4-bc4b-3396d773fba1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.2280421} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7e30d227a4d1da595aa5e0d794b863df","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.013268,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7e30d227a4d1da595aa5e0d794b863df"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de1d0160-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de1d0160-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744108,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7e30d227a4d1da595aa5e0d794b863df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841839,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de1d0160-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7e30d227a4d1da595aa5e0d794b863df","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/signaling 200 11ms","method":"POST","requestID":"de1d0160-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Building connection plan","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} 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":"f65b6a1a-5902-4bf7-bd3a-863effc05d2f"},{"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":"d002d508-7656-496e-b75d-eab3389710a1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"72f08afd-7af2-42d6-aead-88c5e9183c00"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} 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/ecf5e15e-bdec-472f-961f-05ee838adeb5"},{"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/3491ad67-a815-41d1-b4c8-3c3f0982583f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"de1efd30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:56.305278895Z"}]},"request_id":"3a4f48cf-ad4a-4a7d-bbdd-dd9f8cb0662b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.2363756} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7e30d227a4d1da595aa5e0d794b863df","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.674638,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7e30d227a4d1da595aa5e0d794b863df"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de1efd30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841838,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOH0.Bcomop9rDfnt2X80Mp_B4Kug19xtmZWtWTU76HF1Z8Y"} gateway-1 | {"time_local":"28/Apr/2025:12:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5? 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":"7e30d227a4d1da595aa5e0d794b863df"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"de1efd30-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5? 200 11ms","method":"GET","requestID":"7e30d227a4d1da595aa5e0d794b863df","responseTime":11,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4","level":"info","message":"auth send jwt","requestID":"4ae76b924ce0b8fbadff43edf0e9c028"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4ae76b924ce0b8fbadff43edf0e9c028","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4ae76b924ce0b8fbadff43edf0e9c028"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"a0781a64-91f7-437c-a1a6-15c1bc13e94b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.271713} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7328cca3-eda6-4d99-bc52-c75f33563fab","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.2718904} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932883,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"de1efd30-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4ae76b924ce0b8fbadff43edf0e9c028","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841839,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4ae76b924ce0b8fbadff43edf0e9c028","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:56.440077364Z"}]},"request_id":"fedebbbb-b949-4dd3-8685-46e01ef24d8c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.2777112} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4ae76b924ce0b8fbadff43edf0e9c028","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"de1efd30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"de1efd30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8'","requestID":"de1efd30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8'","requestID":"de1efd30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"de1efd30-2428-11f0-a0e6-516e7b85a777"} 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":"de1efd30-2428-11f0-a0e6-516e7b85a777","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":"getDevicesByDeviceId succeeded","requestID":"4ae76b924ce0b8fbadff43edf0e9c028"} gateway-1 | {"time_local":"28/Apr/2025:12:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ae76b924ce0b8fbadff43edf0e9c028"} device-1 | {"level":"info","message":"GET /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f? 200 48ms","method":"GET","requestID":"4ae76b924ce0b8fbadff43edf0e9c028","responseTime":48,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"de1efd30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8","device":"3491ad67-a815-41d1-b4c8-3c3f0982583f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8","device":"ecf5e15e-bdec-472f-961f-05ee838adeb5","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/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d76e42c1b8c313058cb96e7c73a1ceef"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de332170-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} device-1 | {"device":"3491ad67-a815-41d1-b4c8-3c3f0982583f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"3491ad67-a815-41d1-b4c8-3c3f0982583f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7bc9a9b-0268-477b-a5cf-8ccf75de9f1c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.372496} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.971456,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} device-1 | {"device":"ecf5e15e-bdec-472f-961f-05ee838adeb5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ecf5e15e-bdec-472f-961f-05ee838adeb5","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/ecf5e15e-bdec-472f-961f-05ee838adeb5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de332170-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de332170-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de332170-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/signaling 200 11ms","method":"POST","requestID":"de332170-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de354450-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 4427413751233636657 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:eZ6+\r\na=ice-pwd:tJZknNg2+1BSs5hncsq6GrWJ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 86:7F:F1:90:F6:F4:45:69:73:F4:F1:97:31:01:73:D1:F9:A2:CE:CB:57:7F:2F:4D:4C:65:8A:E2:74:01:A7:1D\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"3491ad67-a815-41d1-b4c8-3c3f0982583f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa976358-5a0a-47e5-8ee5-07c011ce10cc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.4122407} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.84532,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de354450-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","object_type":"device","rebac_allow":false,"scope_allow":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":"de354450-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de354450-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/signaling 200 43ms","method":"POST","requestID":"de354450-2428-11f0-a0e6-516e7b85a777","responseTime":43,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 5824335073045721710 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:JdpM\r\na=ice-pwd:VyNULWQiSRMStXxNyqCgXbse\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9E:CF:5E:B0:0D:83:95:32:93:51:E8:2A:7B:7E:EC:0A:3E:BC:17:5C:2A:EA:D3:9B:AD:D1:B1:34:F1:FD:84: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":"ecf5e15e-bdec-472f-961f-05ee838adeb5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3610492292 1 udp 2113937151 f6269cfc-704d-4d8c-ad1d-7635c4826f94.local 58041 typ host generation 0 ufrag JdpM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ecf5e15e-bdec-472f-961f-05ee838adeb5","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/ecf5e15e-bdec-472f-961f-05ee838adeb5'"} device-1 | {"content":{"candidate":"candidate:3546210533 1 udp 2113937151 d40baed0-fa0b-4ccb-a7db-53de3064090b.local 54157 typ host generation 0 ufrag eZ6+ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3491ad67-a815-41d1-b4c8-3c3f0982583f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"3491ad67-a815-41d1-b4c8-3c3f0982583f","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/60af241f-d2fb-4b52-a4ca-b2450ab957c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"60af241f-d2fb-4b52-a4ca-b2450ab957c8","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3491ad67-a815-41d1-b4c8-3c3f0982583f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ecf5e15e-bdec-472f-961f-05ee838adeb5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"ecf5e15e-bdec-472f-961f-05ee838adeb5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c590cfd930e192e4a72aafede4c24685","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c590cfd930e192e4a72aafede4c24685","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5"},{"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/3491ad67-a815-41d1-b4c8-3c3f0982583f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8"}}},"level":"info","message":"received a callback","requestID":"c590cfd930e192e4a72aafede4c24685"} device-1 | {"device":"3491ad67-a815-41d1-b4c8-3c3f0982583f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ecf5e15e-bdec-472f-961f-05ee838adeb5","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":"c590cfd930e192e4a72aafede4c24685","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"c590cfd930e192e4a72aafede4c24685"} device-1 | {"data":{"peerconnection":"60af241f-d2fb-4b52-a4ca-b2450ab957c8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ecf5e15e-bdec-472f-961f-05ee838adeb5","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"60af241f-d2fb-4b52-a4ca-b2450ab957c8","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/60af241f-d2fb-4b52-a4ca-b2450ab957c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"60af241f-d2fb-4b52-a4ca-b2450ab957c8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7aa7fd3f17c4826132b296b4200c8412","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7aa7fd3f17c4826132b296b4200c8412","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/ecf5e15e-bdec-472f-961f-05ee838adeb5"},{"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/3491ad67-a815-41d1-b4c8-3c3f0982583f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8"}}},"level":"info","message":"received a callback","requestID":"7aa7fd3f17c4826132b296b4200c8412"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"de4f8310-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F60af241f-d2fb-4b52-a4ca-b2450ab957c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3b2d523-3aed-4409-b70f-dba851cad427","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.5575032} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.254579,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de4f8310-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8","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":"de4f8310-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"de4f8310-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8 200 8ms","method":"GET","requestID":"de4f8310-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 77ms","method":"POST","requestID":"7aa7fd3f17c4826132b296b4200c8412","responseTime":77,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.079","http_referrer":"","http_user_agent":"node-fetch","requestID":"7aa7fd3f17c4826132b296b4200c8412"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de572430-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1730e04-5f3f-453b-a718-23bf7e18ab34","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.6076324} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.550935,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de572430-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de572430-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4","level":"info","message":"auth send jwt","requestID":"aa725d342252f8c6758b42a0e21ab9c2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de572430-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/signaling 200 9ms","method":"POST","requestID":"de572430-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa725d342252f8c6758b42a0e21ab9c2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de58d1e0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7","requestID":"aa725d342252f8c6758b42a0e21ab9c2"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.033601,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"aa725d342252f8c6758b42a0e21ab9c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841839,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"aa725d342252f8c6758b42a0e21ab9c2","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f5d351b-be1a-41f4-86b5-2bea25a1c506","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.619638} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.588346,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de58d1e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de58d1e0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de58d1e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/signaling 200 10ms","method":"POST","requestID":"de58d1e0-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7","requestID":"aa725d342252f8c6758b42a0e21ab9c2"} gateway-1 | {"time_local":"28/Apr/2025:12:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa725d342252f8c6758b42a0e21ab9c2"} experiment-1 | {"level":"info","message":"GET /experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7 200 35ms","method":"GET","requestID":"aa725d342252f8c6758b42a0e21ab9c2","responseTime":35,"status":200,"url":"/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4","level":"info","message":"auth send jwt","requestID":"07511d9ca01b1de837db8425c69ff194"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"07511d9ca01b1de837db8425c69ff194","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7","requestID":"07511d9ca01b1de837db8425c69ff194"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.623993,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07511d9ca01b1de837db8425c69ff194","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841839,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"07511d9ca01b1de837db8425c69ff194","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Attempting to finish experiment","requestID":"07511d9ca01b1de837db8425c69ff194"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"de5ffdd0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.643402,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de5ffdd0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841839,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"de5ffdd0-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8","device":"ecf5e15e-bdec-472f-961f-05ee838adeb5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8","device":"3491ad67-a815-41d1-b4c8-3c3f0982583f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F60af241f-d2fb-4b52-a4ca-b2450ab957c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F60af241f-d2fb-4b52-a4ca-b2450ab957c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"7985f401-83b2-40b0-aa62-deec264b3d49","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.6979096} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"60af241f-d2fb-4b52-a4ca-b2450ab957c8","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed714ace-4aba-467a-8195-1a2979752176","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.6982536} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"de5ffdd0-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a2dbe40e470376da16da281736e8ea92","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a2dbe40e470376da16da281736e8ea92","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"68acd56643d589eda1e04fa225af01b1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"68acd56643d589eda1e04fa225af01b1","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/ecf5e15e-bdec-472f-961f-05ee838adeb5"},{"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/3491ad67-a815-41d1-b4c8-3c3f0982583f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8"}}},"level":"info","message":"received a callback","requestID":"a2dbe40e470376da16da281736e8ea92"} 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/ecf5e15e-bdec-472f-961f-05ee838adeb5"},{"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/3491ad67-a815-41d1-b4c8-3c3f0982583f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8"}}},"level":"info","message":"received a callback","requestID":"68acd56643d589eda1e04fa225af01b1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"de5ffdd0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8 204 45ms","method":"DELETE","requestID":"de5ffdd0-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":204,"url":"/peerconnections/60af241f-d2fb-4b52-a4ca-b2450ab957c8"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"},"level":"info","message":"Successfully finished experiment","requestID":"07511d9ca01b1de837db8425c69ff194"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de6d4440-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecf5e15e-bdec-472f-961f-05ee838adeb5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2abe64f8-fa7c-4e06-ae37-1750e7503e3a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.7530527} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.4597,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de6d4440-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de6d4440-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16ae71fd-c7b7-424e-a6cc-09888fa90ee7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16ae71fd-c7b7-424e-a6cc-09888fa90ee7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"88f05e91-ef45-4aea-8ec9-b0c70bae6e44","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.7573297} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e84fa46d-1bdb-42b0-9e8a-cc6ee4f17a87","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.7575405} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de6d4440-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/signaling 200 11ms","method":"POST","requestID":"de6d4440-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"07511d9ca01b1de837db8425c69ff194","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de6f4010-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3491ad67-a815-41d1-b4c8-3c3f0982583f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af9cbf92-65d9-423a-ad20-58c1f74d9dcb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.7653852} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.570882,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"de6f4010-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de6f4010-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de6f4010-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/signaling 200 33ms","method":"POST","requestID":"de6f4010-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7","requestID":"07511d9ca01b1de837db8425c69ff194"} gateway-1 | {"time_local":"28/Apr/2025:12:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.212","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07511d9ca01b1de837db8425c69ff194"} experiment-1 | {"level":"info","message":"DELETE /experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7 204 210ms","method":"DELETE","requestID":"07511d9ca01b1de837db8425c69ff194","responseTime":210,"status":204,"url":"/experiments/16ae71fd-c7b7-424e-a6cc-09888fa90ee7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 187ms","method":"POST","requestID":"a2dbe40e470376da16da281736e8ea92","responseTime":187,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 186ms","method":"POST","requestID":"68acd56643d589eda1e04fa225af01b1","responseTime":186,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4","level":"info","message":"auth send jwt","requestID":"d88d129c6cb70da228d12450f98fd4ef"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d88d129c6cb70da228d12450f98fd4ef","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.189","http_referrer":"","http_user_agent":"node-fetch","requestID":"a2dbe40e470376da16da281736e8ea92"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"68acd56643d589eda1e04fa225af01b1"} gateway-1 | {"time_local":"28/Apr/2025:12:03:59 +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.050","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3d50cfe7eeb2c0919341506fb2c0a23d"} device-1 | {"level":"info","message":"postDevices called","requestID":"d88d129c6cb70da228d12450f98fd4ef"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.801601,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3491ad67-a815-41d1-b4c8-3c3f0982583f' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d88d129c6cb70da228d12450f98fd4ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841839,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d88d129c6cb70da228d12450f98fd4ef","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:03:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"1.015","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"12a9d547cec9db13e05c61c6677892af"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ecf5e15e-bdec-472f-961f-05ee838adeb5' 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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bafa6c87-a698-4493-999a-e7b51b26b577","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.939155} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d88d129c6cb70da228d12450f98fd4ef","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d68e4ee9-0802-4391-8e8f-a18fb0ebdec1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.9435692} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d88d129c6cb70da228d12450f98fd4ef","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"099626c8-a2ed-42ef-9d77-c9edb5cc447b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.9530814} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d121b57-cf58-4812-afab-3a6d959c7883","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.9532351} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"d88d129c6cb70da228d12450f98fd4ef","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:59.953063319Z"}]},"request_id":"52ea9c47-4976-4965-ba5f-79695e9de3aa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.9576128} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d88d129c6cb70da228d12450f98fd4ef","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d88d129c6cb70da228d12450f98fd4ef"} gateway-1 | {"time_local":"28/Apr/2025:12:03: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.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d88d129c6cb70da228d12450f98fd4ef"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"d88d129c6cb70da228d12450f98fd4ef","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4","level":"info","message":"auth send jwt","requestID":"7feee15ccc8cb9afebd7821d9745f0a0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7feee15ccc8cb9afebd7821d9745f0a0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7feee15ccc8cb9afebd7821d9745f0a0"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.682981,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:03:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7feee15ccc8cb9afebd7821d9745f0a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841839,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTgzOX0.-K3FZlG_8bn26zQ7YtCct2J_GIfIV3tcvhEboxmwmz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7feee15ccc8cb9afebd7821d9745f0a0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"335a2ae1-8bcd-4b4b-97d8-749d9767ee23","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841839.9988065} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7feee15ccc8cb9afebd7821d9745f0a0","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d004264-e5b7-4ae1-bfe8-95485a20ba7d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841840.0031488} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7feee15ccc8cb9afebd7821d9745f0a0","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"d62dc960-0782-4a29-a177-4c14aa104616","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841840.0348344} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"887427ca-7610-45a8-9e50-d24dbecb60cd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841840.035136} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"7feee15ccc8cb9afebd7821d9745f0a0","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:00.034809289Z"}]},"request_id":"c1c59efc-7ab2-4770-ba2f-aa0204016303","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841840.039571} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7feee15ccc8cb9afebd7821d9745f0a0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7feee15ccc8cb9afebd7821d9745f0a0"} gateway-1 | {"time_local":"28/Apr/2025:12:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7feee15ccc8cb9afebd7821d9745f0a0"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"7feee15ccc8cb9afebd7821d9745f0a0","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"db9209603e5ad4dc3cbf5b21aa062201","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"db9209603e5ad4dc3cbf5b21aa062201","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8a69d1cb6044ac71aeeeb481566c6309","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8a69d1cb6044ac71aeeeb481566c6309","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/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":"db9209603e5ad4dc3cbf5b21aa062201"} device-1 | {"level":"info","message":"OPTIONS /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/websocket 200 1ms","method":"OPTIONS","requestID":"db9209603e5ad4dc3cbf5b21aa062201","responseTime":1,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:04:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/816a2a59-e170-4963-b981-f551b76fb0f3/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":"8a69d1cb6044ac71aeeeb481566c6309"} device-1 | {"level":"info","message":"OPTIONS /devices/816a2a59-e170-4963-b981-f551b76fb0f3/websocket 200 1ms","method":"OPTIONS","requestID":"8a69d1cb6044ac71aeeeb481566c6309","responseTime":1,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk","level":"info","message":"auth send jwt","requestID":"2247d5d1a9b77a5b23c3cfc5606b5bd6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2247d5d1a9b77a5b23c3cfc5606b5bd6","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk","level":"info","message":"auth send jwt","requestID":"685f6bafed6edb40d8d847ca3483afd0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"685f6bafed6edb40d8d847ca3483afd0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2247d5d1a9b77a5b23c3cfc5606b5bd6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"685f6bafed6edb40d8d847ca3483afd0"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925808,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"2247d5d1a9b77a5b23c3cfc5606b5bd6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2247d5d1a9b77a5b23c3cfc5606b5bd6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.523241,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"685f6bafed6edb40d8d847ca3483afd0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"685f6bafed6edb40d8d847ca3483afd0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"685f6bafed6edb40d8d847ca3483afd0"} gateway-1 | {"time_local":"28/Apr/2025:12:04:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/816a2a59-e170-4963-b981-f551b76fb0f3/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":"685f6bafed6edb40d8d847ca3483afd0"} device-1 | {"level":"info","message":"POST /devices/816a2a59-e170-4963-b981-f551b76fb0f3/websocket 200 33ms","method":"POST","requestID":"685f6bafed6edb40d8d847ca3483afd0","responseTime":33,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2247d5d1a9b77a5b23c3cfc5606b5bd6"} device-1 | {"level":"info","message":"POST /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/websocket 200 54ms","method":"POST","requestID":"2247d5d1a9b77a5b23c3cfc5606b5bd6","responseTime":54,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:04:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.060","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2247d5d1a9b77a5b23c3cfc5606b5bd6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk","level":"info","message":"auth send jwt","requestID":"49cd4166cff9c8011f2bd1e961764d8c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"49cd4166cff9c8011f2bd1e961764d8c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"49cd4166cff9c8011f2bd1e961764d8c"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27137,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"49cd4166cff9c8011f2bd1e961764d8c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"49cd4166cff9c8011f2bd1e961764d8c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:59.953063319Z"}]},"request_id":"204af2b0-5d4c-4d91-9ac5-fb33da7e041b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.4024205} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"49cd4166cff9c8011f2bd1e961764d8c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"49cd4166cff9c8011f2bd1e961764d8c"} gateway-1 | {"time_local":"28/Apr/2025:12:04:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103? 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":"49cd4166cff9c8011f2bd1e961764d8c"} device-1 | {"level":"info","message":"GET /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103? 200 10ms","method":"GET","requestID":"49cd4166cff9c8011f2bd1e961764d8c","responseTime":10,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk","level":"info","message":"auth send jwt","requestID":"fc3f5b7c6e32fb97b6b4554a062f44ec"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"fc3f5b7c6e32fb97b6b4554a062f44ec","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc3f5b7c6e32fb97b6b4554a062f44ec"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712277,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc3f5b7c6e32fb97b6b4554a062f44ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc3f5b7c6e32fb97b6b4554a062f44ec","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:00.034809289Z"}]},"request_id":"81a936c0-db1a-4f50-a3ba-c7c6e15badfa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.43999} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fc3f5b7c6e32fb97b6b4554a062f44ec","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc3f5b7c6e32fb97b6b4554a062f44ec"} device-1 | {"level":"info","message":"GET /devices/816a2a59-e170-4963-b981-f551b76fb0f3? 200 9ms","method":"GET","requestID":"fc3f5b7c6e32fb97b6b4554a062f44ec","responseTime":9,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/816a2a59-e170-4963-b981-f551b76fb0f3? 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":"fc3f5b7c6e32fb97b6b4554a062f44ec"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk","level":"info","message":"auth send jwt","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"952a706a0aaaa3fd15ab81b813dce97c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.698783,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"952a706a0aaaa3fd15ab81b813dce97c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"952a706a0aaaa3fd15ab81b813dce97c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Attempting to run experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Attempting to book experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Successfully booked experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0115750-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0117e60-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668438,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0115750-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e0115750-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711431,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0117e60-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e0117e60-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:59.953063319Z"}]},"request_id":"8b12ca7b-0082-48a5-b3e3-d6465c6558f0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.508367} authorization-1 | {"level":"info","message":"POST /relations/query 200 22ms","method":"POST","requestID":"e0115750-2428-11f0-a0e6-516e7b85a777","responseTime":22,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:00.034809289Z"}]},"request_id":"b128c5eb-aa21-4e94-8629-130c1f5ca7cb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.5331075} authorization-1 | {"level":"info","message":"POST /relations/query 200 25ms","method":"POST","requestID":"e0117e60-2428-11f0-a0e6-516e7b85a777","responseTime":25,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0115750-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103? 200 36ms","method":"GET","requestID":"e0115750-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0117e60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/816a2a59-e170-4963-b981-f551b76fb0f3? 200 35ms","method":"GET","requestID":"e0117e60-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Setting up experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Successfully locked booking for experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Attempting to update booking for experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Successfully updated booking for experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Successfully set up experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0249130-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e024b840-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0250660-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Successfully running experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753248,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0249130-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0249130-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704711,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e024b840-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e024b840-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc4e16e7-bc98-4bf4-9667-711c885a55fb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.6363628} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:59.953063319Z"}]},"request_id":"b25151a6-dc5b-4197-aed9-dc880d2ea913","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.6371927} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.229371,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0250660-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e0250660-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e0249130-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:00.034809289Z"}]},"request_id":"8b71c62c-01aa-4dfa-b6d5-a1a086f29932","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.6384892} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e024b840-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1bf9f4f1-5313-4634-9753-f0b83bccb8ef#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1bf9f4f1-5313-4634-9753-f0b83bccb8ef","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"ec26da4a-acd2-4f6c-b48e-9732a65bdd6b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.6435049} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb61ca71-bda4-48e0-b6db-955177d575b0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.6436503} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0250660-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"952a706a0aaaa3fd15ab81b813dce97c","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/signaling 200 15ms","method":"POST","requestID":"e0250660-2428-11f0-a0e6-516e7b85a777","responseTime":15,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0249130-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103? 200 19ms","method":"GET","requestID":"e0249130-2428-11f0-a0e6-516e7b85a777","responseTime":19,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e024b840-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/816a2a59-e170-4963-b981-f551b76fb0f3? 200 19ms","method":"GET","requestID":"e024b840-2428-11f0-a0e6-516e7b85a777","responseTime":19,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3?"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e02b9610-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e02be430-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} gateway-1 | {"time_local":"28/Apr/2025:12:04:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 230ms","method":"POST","requestID":"952a706a0aaaa3fd15ab81b813dce97c","responseTime":230,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc52719c-9231-4b49-aac6-ac117394693c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.677891} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.8068,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e02b9610-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e02b9610-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"001e818b-4ec3-4469-b36a-126a6aae038d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.6796117} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.911381,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e02be430-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e02be430-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk","level":"info","message":"auth send jwt","requestID":"74f30de98599c4b0b10fc32f47b67b9a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"74f30de98599c4b0b10fc32f47b67b9a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"74f30de98599c4b0b10fc32f47b67b9a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e02b9610-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/816a2a59-e170-4963-b981-f551b76fb0f3/signaling 200 13ms","method":"POST","requestID":"e02b9610-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e02be430-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/signaling 200 12ms","method":"POST","requestID":"e02be430-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/signaling"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.340552,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"74f30de98599c4b0b10fc32f47b67b9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"74f30de98599c4b0b10fc32f47b67b9a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e02e0710-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04: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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:03:59.953063319Z"}]},"request_id":"396c5105-324a-4f1b-9227-ef5d1bf10116","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.6937437} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e03a42d-140a-4841-93f6-430f6e05429c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.6939023} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"74f30de98599c4b0b10fc32f47b67b9a","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.017925,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e02e0710-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e02e0710-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"74f30de98599c4b0b10fc32f47b67b9a"} gateway-1 | {"time_local":"28/Apr/2025:12:04:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103? 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":"74f30de98599c4b0b10fc32f47b67b9a"} device-1 | {"level":"info","message":"GET /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103? 200 42ms","method":"GET","requestID":"74f30de98599c4b0b10fc32f47b67b9a","responseTime":42,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e02e0710-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/816a2a59-e170-4963-b981-f551b76fb0f3/signaling 200 38ms","method":"POST","requestID":"e02e0710-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Building connection plan","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} 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":"e844b06a-c0ed-4228-b674-d7d21fffb97f"},{"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":"80363b37-9d49-418c-ad8b-b285bd3e77d2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9429b6aa-e843-42b6-9e5b-14dfa6d019ec"}]},"level":"info","message":"Built pairwise service configurations","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} 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/38aa5499-f37e-4a98-9c6a-fe2160e7a103"},{"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/816a2a59-e170-4963-b981-f551b76fb0f3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e03448a0-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk","level":"info","message":"auth send jwt","requestID":"bae4c0fa47db6ef244ef751dd41d1d43"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bae4c0fa47db6ef244ef751dd41d1d43","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bae4c0fa47db6ef244ef751dd41d1d43"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.678248,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e03448a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e03448a0-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753069,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bae4c0fa47db6ef244ef751dd41d1d43","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841842,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Mn0.z5fkr6oIqC-MrPzxq58QxTOXFcoh11Ec8-IANPbfIvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bae4c0fa47db6ef244ef751dd41d1d43","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:00.034809289Z"}]},"request_id":"e781a176-dcbc-4e25-ba50-c00d9fdf2653","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.7400258} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bae4c0fa47db6ef244ef751dd41d1d43","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bae4c0fa47db6ef244ef751dd41d1d43"} gateway-1 | {"time_local":"28/Apr/2025:12:04:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/816a2a59-e170-4963-b981-f551b76fb0f3? 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":"bae4c0fa47db6ef244ef751dd41d1d43"} device-1 | {"level":"info","message":"GET /devices/816a2a59-e170-4963-b981-f551b76fb0f3? 200 12ms","method":"GET","requestID":"bae4c0fa47db6ef244ef751dd41d1d43","responseTime":12,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"d1c8fad3-cd0c-4db7-92e2-622ae7291d62","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.7440362} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c42b678c-86b3-4f44-8102-6ab57ed20766","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.7443829} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"e03448a0-2428-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e03448a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e03448a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3'","requestID":"e03448a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3'","requestID":"e03448a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e03448a0-2428-11f0-a0e6-516e7b85a777"} 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":"e03448a0-2428-11f0-a0e6-516e7b85a777","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":"e03448a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3","device":"816a2a59-e170-4963-b981-f551b76fb0f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3","device":"38aa5499-f37e-4a98-9c6a-fe2160e7a103","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/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"952a706a0aaaa3fd15ab81b813dce97c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0495740-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} device-1 | {"device":"38aa5499-f37e-4a98-9c6a-fe2160e7a103","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"38aa5499-f37e-4a98-9c6a-fe2160e7a103","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7d15d8a-1886-46a4-9b6a-adfa7a239415","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.8740606} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.862166,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0495740-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0495740-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0495740-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/signaling 200 10ms","method":"POST","requestID":"e0495740-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e04b04f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec63cd05-0dfe-4835-a521-2402476e2cab","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841842.8838937} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.263989,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e04b04f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e04b04f0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e04b04f0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/816a2a59-e170-4963-b981-f551b76fb0f3/signaling 200 8ms","method":"POST","requestID":"e04b04f0-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3/signaling"} device-1 | {"device":"816a2a59-e170-4963-b981-f551b76fb0f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"816a2a59-e170-4963-b981-f551b76fb0f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 8766088411261094460 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:ryGL\r\na=ice-pwd:Mjgx2M/ZsxhlmJidZf/YkHAs\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4F:68:73:16:39:EE:39:09:C1:94:4B:27:2B:03:20:73:38:45:A5:66:26:15:CC:76:C2:50:C3:92:08:C6:74:A3\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"816a2a59-e170-4963-b981-f551b76fb0f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 214686399235235305 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:4Duk\r\na=ice-pwd:sbhXGgcboLwD0hKv9fwnTxQ+\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CE:71:DB:AA:7C:25:52:FB:F9:F8:CF:C7:6F:E0:45:D0:4F:0D:30:57:F3:4C:62:4C:47:50:23:3A:C5:8E:50:B0\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"38aa5499-f37e-4a98-9c6a-fe2160e7a103","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2565661534 1 udp 2113937151 7a4f345d-435e-49ad-8adb-03be6080f784.local 38660 typ host generation 0 ufrag 4Duk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"38aa5499-f37e-4a98-9c6a-fe2160e7a103","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/38aa5499-f37e-4a98-9c6a-fe2160e7a103'"} device-1 | {"content":{"candidate":"candidate:2833135154 1 udp 2113937151 c2fa409c-32a3-4a7c-b476-6101a1ed7c9b.local 39647 typ host generation 0 ufrag ryGL network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"816a2a59-e170-4963-b981-f551b76fb0f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"816a2a59-e170-4963-b981-f551b76fb0f3","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/6c753b24-d122-42c1-a414-788094c340f3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6c753b24-d122-42c1-a414-788094c340f3","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"816a2a59-e170-4963-b981-f551b76fb0f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"38aa5499-f37e-4a98-9c6a-fe2160e7a103","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"38aa5499-f37e-4a98-9c6a-fe2160e7a103","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"19d99fc7ccbdba8b993af8fc4df3aeff","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"19d99fc7ccbdba8b993af8fc4df3aeff","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103"},{"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/816a2a59-e170-4963-b981-f551b76fb0f3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3"}}},"level":"info","message":"received a callback","requestID":"19d99fc7ccbdba8b993af8fc4df3aeff"} device-1 | {"device":"816a2a59-e170-4963-b981-f551b76fb0f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"38aa5499-f37e-4a98-9c6a-fe2160e7a103","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"19d99fc7ccbdba8b993af8fc4df3aeff","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"19d99fc7ccbdba8b993af8fc4df3aeff"} device-1 | {"device":"38aa5499-f37e-4a98-9c6a-fe2160e7a103","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"6c753b24-d122-42c1-a414-788094c340f3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6c753b24-d122-42c1-a414-788094c340f3","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/6c753b24-d122-42c1-a414-788094c340f3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6c753b24-d122-42c1-a414-788094c340f3","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"66abe0edf8ca7051e526d4d4785c84b0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"66abe0edf8ca7051e526d4d4785c84b0","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/38aa5499-f37e-4a98-9c6a-fe2160e7a103"},{"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/816a2a59-e170-4963-b981-f551b76fb0f3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3"}}},"level":"info","message":"received a callback","requestID":"66abe0edf8ca7051e526d4d4785c84b0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e0628490-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6c753b24-d122-42c1-a414-788094c340f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05148412-580f-49fe-92ce-ce9c262993df","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.0572555} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":22.369621,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0628490-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3","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 24ms","method":"POST","requestID":"e0628490-2428-11f0-a0e6-516e7b85a777","responseTime":24,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e0628490-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/6c753b24-d122-42c1-a414-788094c340f3 200 28ms","method":"GET","requestID":"e0628490-2428-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/peerconnections/6c753b24-d122-42c1-a414-788094c340f3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"66abe0edf8ca7051e526d4d4785c84b0","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"66abe0edf8ca7051e526d4d4785c84b0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0691440-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"516979fa-b09b-428f-9f70-c62600fee5f4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.0806446} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.87483,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0691440-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","object_type":"device","rebac_allow":false,"scope_allow":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":"e0691440-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0M30.dsd88gt4ijpjdQMh6kljIATFS82Yfc-KGFRLpbHCeHs","level":"info","message":"auth send jwt","requestID":"29e002511babce165c3dfe95b4844b2b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"29e002511babce165c3dfe95b4844b2b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef","requestID":"29e002511babce165c3dfe95b4844b2b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0691440-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/signaling 200 37ms","method":"POST","requestID":"e0691440-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.690483,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e06f07b0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"29e002511babce165c3dfe95b4844b2b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841843,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0M30.dsd88gt4ijpjdQMh6kljIATFS82Yfc-KGFRLpbHCeHs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"29e002511babce165c3dfe95b4844b2b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80fc9102-fdd7-4b37-a83c-7f805f716865","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.1193938} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.272647,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:03Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef","requestID":"29e002511babce165c3dfe95b4844b2b"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e06f07b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"28/Apr/2025:12:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29e002511babce165c3dfe95b4844b2b"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e06f07b0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"GET /experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef 200 9ms","method":"GET","requestID":"29e002511babce165c3dfe95b4844b2b","responseTime":9,"status":200,"url":"/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e06f07b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/816a2a59-e170-4963-b981-f551b76fb0f3/signaling 200 8ms","method":"POST","requestID":"e06f07b0-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0M30.dsd88gt4ijpjdQMh6kljIATFS82Yfc-KGFRLpbHCeHs","level":"info","message":"auth send jwt","requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef","requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.53053,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841843,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0M30.dsd88gt4ijpjdQMh6kljIATFS82Yfc-KGFRLpbHCeHs"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Attempting to finish experiment","requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e075e580-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.701499,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e075e580-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841843,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0M30.dsd88gt4ijpjdQMh6kljIATFS82Yfc-KGFRLpbHCeHs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e075e580-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3","device":"38aa5499-f37e-4a98-9c6a-fe2160e7a103","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3","device":"816a2a59-e170-4963-b981-f551b76fb0f3","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/6c753b24-d122-42c1-a414-788094c340f3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6c753b24-d122-42c1-a414-788094c340f3","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6c753b24-d122-42c1-a414-788094c340f3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6c753b24-d122-42c1-a414-788094c340f3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"54d5f448-3377-4667-934f-73ba975924d2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.1756928} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d631682-e947-490e-973a-66d7a425ceec","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.175888} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1e3f45c3377b4f1f9adc72406628e9ea","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1e3f45c3377b4f1f9adc72406628e9ea","responseTime":26,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"217d790eb37c1781661e4ec12fc977c8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"217d790eb37c1781661e4ec12fc977c8","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/38aa5499-f37e-4a98-9c6a-fe2160e7a103"},{"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/816a2a59-e170-4963-b981-f551b76fb0f3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3"}}},"level":"info","message":"received a callback","requestID":"1e3f45c3377b4f1f9adc72406628e9ea"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"e075e580-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103"},{"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/816a2a59-e170-4963-b981-f551b76fb0f3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6c753b24-d122-42c1-a414-788094c340f3"}}},"level":"info","message":"received a callback","requestID":"217d790eb37c1781661e4ec12fc977c8"} device-1 | {"data":{"peerconnection":"6c753b24-d122-42c1-a414-788094c340f3","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e075e580-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/6c753b24-d122-42c1-a414-788094c340f3 204 60ms","method":"DELETE","requestID":"e075e580-2428-11f0-a0e6-516e7b85a777","responseTime":60,"status":204,"url":"/peerconnections/6c753b24-d122-42c1-a414-788094c340f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"},"level":"info","message":"Successfully finished experiment","requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0843d60-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38aa5499-f37e-4a98-9c6a-fe2160e7a103","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca871b19-0faf-46a1-943c-0a58724dfea6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.2589965} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.685808,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0843d60-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0843d60-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0843d60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/signaling 200 9ms","method":"POST","requestID":"e0843d60-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e085c400-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1bf9f4f1-5313-4634-9753-f0b83bccb8ef': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1bf9f4f1-5313-4634-9753-f0b83bccb8ef","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"d07380a0-9683-4e54-b8d1-27f7d2612023","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.2689743} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F816a2a59-e170-4963-b981-f551b76fb0f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"144e36de-2ca3-41a1-9fa6-6e5b1fe8bc3c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.2690983} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"924ae313-43e0-40e1-8317-809b18749bd6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.2693086} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.937106,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e085c400-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e085c400-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e085c400-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/816a2a59-e170-4963-b981-f551b76fb0f3/signaling 200 33ms","method":"POST","requestID":"e085c400-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/816a2a59-e170-4963-b981-f551b76fb0f3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef","requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e"} gateway-1 | {"time_local":"28/Apr/2025:12:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e"} experiment-1 | {"level":"info","message":"DELETE /experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef 204 237ms","method":"DELETE","requestID":"d5dc8bc42ae199c2f3a0c55fef36fc4e","responseTime":237,"status":204,"url":"/experiments/1bf9f4f1-5313-4634-9753-f0b83bccb8ef"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 164ms","method":"POST","requestID":"1e3f45c3377b4f1f9adc72406628e9ea","responseTime":164,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e3f45c3377b4f1f9adc72406628e9ea"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 164ms","method":"POST","requestID":"217d790eb37c1781661e4ec12fc977c8","responseTime":164,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"217d790eb37c1781661e4ec12fc977c8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0M30.dsd88gt4ijpjdQMh6kljIATFS82Yfc-KGFRLpbHCeHs","level":"info","message":"auth send jwt","requestID":"107122ea785f21414d513cb195d0f09a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"107122ea785f21414d513cb195d0f09a","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"1.009","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f4b28593397bfbc6db9e7e82c8495763"} gateway-1 | {"time_local":"28/Apr/2025:12:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2577","request_time":"1.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":"9329391d15b9122b5ade6f45cb229437"} device-1 | {"level":"info","message":"postDevices called","requestID":"107122ea785f21414d513cb195d0f09a"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/816a2a59-e170-4963-b981-f551b76fb0f3' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/38aa5499-f37e-4a98-9c6a-fe2160e7a103' closed"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.972457,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"107122ea785f21414d513cb195d0f09a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841843,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0M30.dsd88gt4ijpjdQMh6kljIATFS82Yfc-KGFRLpbHCeHs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"107122ea785f21414d513cb195d0f09a","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7ab10fbc-2cad-4139-9ead-8f720b8d1f37","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.4155412} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"107122ea785f21414d513cb195d0f09a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f524ca2-39fb-49a1-9516-e68392fda578","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.4441028} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"107122ea785f21414d513cb195d0f09a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"7d9eb2d0-351d-4e89-82f7-055419206027","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.4523687} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b0aa613-a25b-44a7-b457-bcf24cecef9b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.452551} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"107122ea785f21414d513cb195d0f09a","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.452344804Z"}]},"request_id":"eb3ed616-ad85-4ff2-ba1d-6236baaeb27a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.4561868} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"107122ea785f21414d513cb195d0f09a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"107122ea785f21414d513cb195d0f09a"} gateway-1 | {"time_local":"28/Apr/2025:12:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"107122ea785f21414d513cb195d0f09a"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"107122ea785f21414d513cb195d0f09a","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0M30.dsd88gt4ijpjdQMh6kljIATFS82Yfc-KGFRLpbHCeHs","level":"info","message":"auth send jwt","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.750877,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0a150fa8f1b6eeb8b6d4334d957bd926","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841843,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0M30.dsd88gt4ijpjdQMh6kljIATFS82Yfc-KGFRLpbHCeHs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cf5cf5c6-9166-42b4-806b-a3a6f754c469","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.5010142} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4b8e9db-9cee-4f5a-84ac-a1921899e3b8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.5052617} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"8621230e-57ec-486c-afe0-73ec494797d9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.5407448} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6cc9be7-9df9-4261-bf75-522916aa3f00","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.5407553} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.540709514Z"}]},"request_id":"b0b01c75-9b91-4073-b5a3-50fc1819a74c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841843.544635} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926"} gateway-1 | {"time_local":"28/Apr/2025:12:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926"} device-1 | {"level":"info","message":"POST /devices? 201 83ms","method":"POST","requestID":"0a150fa8f1b6eeb8b6d4334d957bd926","responseTime":83,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NH0.BBh1AIWYCTcZ-OKTN0o8dXfoe6EOLN6e7ncwyFqfCy4","level":"info","message":"auth send jwt","requestID":"149a830a27bf95ff510e8897344722a4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"149a830a27bf95ff510e8897344722a4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"149a830a27bf95ff510e8897344722a4"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:04Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667272,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"149a830a27bf95ff510e8897344722a4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841844,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NH0.BBh1AIWYCTcZ-OKTN0o8dXfoe6EOLN6e7ncwyFqfCy4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"149a830a27bf95ff510e8897344722a4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.540709514Z"}]},"request_id":"7688840d-3bd2-463d-8a7f-fc478dbbfe4e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841844.5490787} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"149a830a27bf95ff510e8897344722a4","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee4fd753-9487-4f21-a04b-60487891b7bd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841844.5539002} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"149a830a27bf95ff510e8897344722a4","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.540709514Z"}]},"request_id":"8d574b95-3270-4bae-8616-4e11e30f08eb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841844.572439} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"149a830a27bf95ff510e8897344722a4","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"149a830a27bf95ff510e8897344722a4"} device-1 | {"level":"info","message":"PATCH /devices/65003c08-3506-494b-ad2d-bd9526a499d0 200 78ms","method":"PATCH","requestID":"149a830a27bf95ff510e8897344722a4","responseTime":78,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0"} gateway-1 | {"time_local":"28/Apr/2025:12:04:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/65003c08-3506-494b-ad2d-bd9526a499d0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.082","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"149a830a27bf95ff510e8897344722a4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NH0.BBh1AIWYCTcZ-OKTN0o8dXfoe6EOLN6e7ncwyFqfCy4","level":"info","message":"auth send jwt","requestID":"5b259c0caaa1f8f26eb74e65cf612139"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5b259c0caaa1f8f26eb74e65cf612139","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5b259c0caaa1f8f26eb74e65cf612139"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:04Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62943,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5b259c0caaa1f8f26eb74e65cf612139","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841844,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NH0.BBh1AIWYCTcZ-OKTN0o8dXfoe6EOLN6e7ncwyFqfCy4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5b259c0caaa1f8f26eb74e65cf612139","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5b259c0caaa1f8f26eb74e65cf612139"} device-1 | {"level":"info","message":"POST /devices/65003c08-3506-494b-ad2d-bd9526a499d0/websocket 200 12ms","method":"POST","requestID":"5b259c0caaa1f8f26eb74e65cf612139","responseTime":12,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:04:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/65003c08-3506-494b-ad2d-bd9526a499d0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5b259c0caaa1f8f26eb74e65cf612139"} device-1 | {"level":"info","message":"device 'http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fd8961a7b3cae9f95217001195289d1d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fd8961a7b3cae9f95217001195289d1d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/812c5c01-db4a-4af0-8115-9428e25c56ba/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":"fd8961a7b3cae9f95217001195289d1d"} device-1 | {"level":"info","message":"OPTIONS /devices/812c5c01-db4a-4af0-8115-9428e25c56ba/websocket 200 1ms","method":"OPTIONS","requestID":"fd8961a7b3cae9f95217001195289d1d","responseTime":1,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg","level":"info","message":"auth send jwt","requestID":"60d5abdfab8a84b2296b391c3f42e37c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"60d5abdfab8a84b2296b391c3f42e37c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"60d5abdfab8a84b2296b391c3f42e37c"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:05Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676779,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"60d5abdfab8a84b2296b391c3f42e37c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841845,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"60d5abdfab8a84b2296b391c3f42e37c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"60d5abdfab8a84b2296b391c3f42e37c"} gateway-1 | {"time_local":"28/Apr/2025:12:04:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/812c5c01-db4a-4af0-8115-9428e25c56ba/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":"60d5abdfab8a84b2296b391c3f42e37c"} device-1 | {"level":"info","message":"POST /devices/812c5c01-db4a-4af0-8115-9428e25c56ba/websocket 200 44ms","method":"POST","requestID":"60d5abdfab8a84b2296b391c3f42e37c","responseTime":44,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg","level":"info","message":"auth send jwt","requestID":"b36a62f4952a512e6a6cb60994ca3a40"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b36a62f4952a512e6a6cb60994ca3a40","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b36a62f4952a512e6a6cb60994ca3a40"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:05Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698116,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"b36a62f4952a512e6a6cb60994ca3a40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841845,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b36a62f4952a512e6a6cb60994ca3a40","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.452344804Z"}]},"request_id":"179b8160-4be5-487b-81df-45e0d7742e27","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841845.9420688} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"b36a62f4952a512e6a6cb60994ca3a40","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b36a62f4952a512e6a6cb60994ca3a40"} device-1 | {"level":"info","message":"GET /devices/812c5c01-db4a-4af0-8115-9428e25c56ba? 200 34ms","method":"GET","requestID":"b36a62f4952a512e6a6cb60994ca3a40","responseTime":34,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/812c5c01-db4a-4af0-8115-9428e25c56ba? 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":"b36a62f4952a512e6a6cb60994ca3a40"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg","level":"info","message":"auth send jwt","requestID":"8d114971437b4607fb72375c648f1403"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8d114971437b4607fb72375c648f1403","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8d114971437b4607fb72375c648f1403"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:05Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650585,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8d114971437b4607fb72375c648f1403","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841845,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8d114971437b4607fb72375c648f1403","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.540709514Z"}]},"request_id":"0436d8c2-8e4d-4af5-8203-adf587db48a7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841845.9552197} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8d114971437b4607fb72375c648f1403","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8d114971437b4607fb72375c648f1403"} gateway-1 | {"time_local":"28/Apr/2025:12:04:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/65003c08-3506-494b-ad2d-bd9526a499d0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d114971437b4607fb72375c648f1403"} device-1 | {"level":"info","message":"GET /devices/65003c08-3506-494b-ad2d-bd9526a499d0? 200 9ms","method":"GET","requestID":"8d114971437b4607fb72375c648f1403","responseTime":9,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg","level":"info","message":"auth send jwt","requestID":"c859f95385e931bc379c91c74c5bb41f"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"c859f95385e931bc379c91c74c5bb41f","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c859f95385e931bc379c91c74c5bb41f"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:05Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.305387,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c859f95385e931bc379c91c74c5bb41f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841845,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c859f95385e931bc379c91c74c5bb41f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Attempting to run experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Attempting to book experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Successfully booked experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e22f2e40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e22f5550-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732097,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e22f2e40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841845,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e22f2e40-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.622222,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e22f5550-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841845,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e22f5550-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.452344804Z"}]},"request_id":"bffb915e-1b1f-49d1-ae36-408e046b96bb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.0833347} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e22f2e40-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.540709514Z"}]},"request_id":"69471071-be22-43f9-95c3-505ba4e84b0e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.08426} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e22f5550-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e22f2e40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/812c5c01-db4a-4af0-8115-9428e25c56ba? 200 37ms","method":"GET","requestID":"e22f2e40-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e22f5550-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/65003c08-3506-494b-ad2d-bd9526a499d0? 200 36ms","method":"GET","requestID":"e22f5550-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Setting up experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Successfully set up experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e23d5f10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e23d8620-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e23dd440-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Successfully running experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940294,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e23d5f10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841845,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e23d5f10-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814165,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e23d8620-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841845,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"e23d8620-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cba08cf4-45bd-480f-8a94-d06beb6f2e3a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.1778646} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.240283,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e23dd440-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","object_type":"device","rebac_allow":false,"scope_allow":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":"e23dd440-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.452344804Z"}]},"request_id":"96b99a85-751c-4c71-a46f-c7cee3362282","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.1799636} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e23d5f10-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.540709514Z"}]},"request_id":"aec04a8f-4fd6-466f-bc6e-304ce44053fa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.1822484} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e23d8620-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e23dd440-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/812c5c01-db4a-4af0-8115-9428e25c56ba/signaling 200 36ms","method":"POST","requestID":"e23dd440-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e243a0a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a5037e9-8957-482f-9ae2-06a1c5d9f604#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a5037e9-8957-482f-9ae2-06a1c5d9f604","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"b7e4632a-6de8-47bf-bc3f-b37326936c07","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.1875894} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c930af1b-9506-43ce-9306-3b0e7ec2472c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.187844} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e23d5f10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/812c5c01-db4a-4af0-8115-9428e25c56ba? 200 44ms","method":"GET","requestID":"e23d5f10-2428-11f0-a0e6-516e7b85a777","responseTime":44,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e23d8620-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/65003c08-3506-494b-ad2d-bd9526a499d0? 200 44ms","method":"GET","requestID":"e23d8620-2428-11f0-a0e6-516e7b85a777","responseTime":44,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"c859f95385e931bc379c91c74c5bb41f","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e20ff794-a3e3-48e5-85ab-763e1f9f9910","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.1913736} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.620564,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e2448b00-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e243a0a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e243a0a0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e243a0a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/65003c08-3506-494b-ad2d-bd9526a499d0/signaling 200 10ms","method":"POST","requestID":"e243a0a0-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75861c3a-7cca-4245-b595-cfcb1478c16f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.1972184} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.897784,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e2448b00-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e2448b00-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c859f95385e931bc379c91c74c5bb41f"} gateway-1 | {"time_local":"28/Apr/2025:12:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 213ms","method":"POST","requestID":"c859f95385e931bc379c91c74c5bb41f","responseTime":213,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e2448b00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/812c5c01-db4a-4af0-8115-9428e25c56ba/signaling 200 34ms","method":"POST","requestID":"e2448b00-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Nn0.t8_04LzkU86BoRJJkbO0JMovaUJk8Y_qvupwEVDqf_w","level":"info","message":"auth send jwt","requestID":"aeff5d4e66226080eb7510570e93e88d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aeff5d4e66226080eb7510570e93e88d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e24a0940-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aeff5d4e66226080eb7510570e93e88d"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.040086,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"aeff5d4e66226080eb7510570e93e88d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841846,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Nn0.t8_04LzkU86BoRJJkbO0JMovaUJk8Y_qvupwEVDqf_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"aeff5d4e66226080eb7510570e93e88d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd11ad5c-4b9a-42e2-9e05-84172485c2e2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.2332127} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.581195,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e24a0940-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e24a0940-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.452344804Z"}]},"request_id":"a5dc1a21-2674-405e-a2e6-0377eee082e2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.236699} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e24a0940-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/65003c08-3506-494b-ad2d-bd9526a499d0/signaling 200 9ms","method":"POST","requestID":"e24a0940-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aeff5d4e66226080eb7510570e93e88d","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Building connection plan","requestID":"c859f95385e931bc379c91c74c5bb41f"} 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":"025b7a33-e5aa-4e81-ad91-e17018b2a561"},{"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":"bc879b5e-c9f0-44cc-8dbb-0cb1eda6076d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"886b40dc-8040-4be5-9174-f13b0fd88779"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c859f95385e931bc379c91c74c5bb41f"} 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/812c5c01-db4a-4af0-8115-9428e25c56ba"},{"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/65003c08-3506-494b-ad2d-bd9526a499d0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c859f95385e931bc379c91c74c5bb41f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e24bde00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aeff5d4e66226080eb7510570e93e88d"} device-1 | {"level":"info","message":"GET /devices/812c5c01-db4a-4af0-8115-9428e25c56ba? 200 13ms","method":"GET","requestID":"aeff5d4e66226080eb7510570e93e88d","responseTime":13,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/812c5c01-db4a-4af0-8115-9428e25c56ba? 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":"aeff5d4e66226080eb7510570e93e88d"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.667101,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e24bde00-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841845,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0NX0.CAdpY9LjY77P1WhEdPQ4d_JZ569Bv2yH_YSKdTQgXkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e24bde00-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Nn0.t8_04LzkU86BoRJJkbO0JMovaUJk8Y_qvupwEVDqf_w","level":"info","message":"auth send jwt","requestID":"d3c35009345c2e9bed4b0817ab1d3558"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d3c35009345c2e9bed4b0817ab1d3558","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d3c35009345c2e9bed4b0817ab1d3558"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921636,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d3c35009345c2e9bed4b0817ab1d3558","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841846,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0Nn0.t8_04LzkU86BoRJJkbO0JMovaUJk8Y_qvupwEVDqf_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"d3c35009345c2e9bed4b0817ab1d3558","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:03.540709514Z"}]},"request_id":"d8eb1b23-f480-45ed-9eb4-47198cd4c15f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.2779958} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"5ccc5822-d650-4863-b042-85692c0e22c2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.2790515} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2cbab54b-3c18-4710-ac75-06bdf419db2b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.2793894} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d3c35009345c2e9bed4b0817ab1d3558","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"e24bde00-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d3c35009345c2e9bed4b0817ab1d3558"} gateway-1 | {"time_local":"28/Apr/2025:12:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/65003c08-3506-494b-ad2d-bd9526a499d0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3c35009345c2e9bed4b0817ab1d3558"} device-1 | {"level":"info","message":"GET /devices/65003c08-3506-494b-ad2d-bd9526a499d0? 200 38ms","method":"GET","requestID":"d3c35009345c2e9bed4b0817ab1d3558","responseTime":38,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e24bde00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e24bde00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698'","requestID":"e24bde00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698'","requestID":"e24bde00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e24bde00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 89ms","method":"POST","requestID":"e24bde00-2428-11f0-a0e6-516e7b85a777","responseTime":89,"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":"e24bde00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698","device":"812c5c01-db4a-4af0-8115-9428e25c56ba","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/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c859f95385e931bc379c91c74c5bb41f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e260eca0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f0ef2bc-54dd-4764-a477-b2872ae50abe","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.3830621} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.256046,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e260eca0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e260eca0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e260eca0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/812c5c01-db4a-4af0-8115-9428e25c56ba/signaling 200 9ms","method":"POST","requestID":"e260eca0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e262c160-2428-11f0-a0e6-516e7b85a777"} device-1 | {"device":"812c5c01-db4a-4af0-8115-9428e25c56ba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"812c5c01-db4a-4af0-8115-9428e25c56ba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd3c26d7-edcf-4708-8c4a-c6fff4f93f0d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841846.3943083} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.236881,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e262c160-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e262c160-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e262c160-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/65003c08-3506-494b-ad2d-bd9526a499d0/signaling 200 33ms","method":"POST","requestID":"e262c160-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0/signaling"} device-1 | {"device":"65003c08-3506-494b-ad2d-bd9526a499d0","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":"64822f19-32c4-43a2-882f-43c710e59698","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6719898196014105766 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:wGiE\r\na=ice-pwd:ByIlNzvyKUF3fJUkU6FLXNHb\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D4:9F:67:37:F3:99:E1:DC:31:F7:99:48:AA:F3:46:79:03:39:C9:21:8A:F6:27:24:09:A6:49:DC:A9:AA:74:92\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"812c5c01-db4a-4af0-8115-9428e25c56ba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1288375843 1 udp 2113937151 99f822a2-385b-4a89-954e-858811627ce4.local 50977 typ host generation 0 ufrag wGiE network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"812c5c01-db4a-4af0-8115-9428e25c56ba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"812c5c01-db4a-4af0-8115-9428e25c56ba","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/64822f19-32c4-43a2-882f-43c710e59698' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"64822f19-32c4-43a2-882f-43c710e59698","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2d719004200a749552adcc025a2d2b7d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"812c5c01-db4a-4af0-8115-9428e25c56ba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"65003c08-3506-494b-ad2d-bd9526a499d0","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":"65003c08-3506-494b-ad2d-bd9526a499d0","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":"GET /auth 200 25ms","method":"GET","requestID":"2d719004200a749552adcc025a2d2b7d","responseTime":25,"status":200,"url":"/auth"} device-1 | {"device":"65003c08-3506-494b-ad2d-bd9526a499d0","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 | {"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/812c5c01-db4a-4af0-8115-9428e25c56ba"},{"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/65003c08-3506-494b-ad2d-bd9526a499d0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698"}}},"level":"info","message":"received a callback","requestID":"2d719004200a749552adcc025a2d2b7d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"2d719004200a749552adcc025a2d2b7d","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"2d719004200a749552adcc025a2d2b7d"} device-1 | {"device":"65003c08-3506-494b-ad2d-bd9526a499d0","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":"65003c08-3506-494b-ad2d-bd9526a499d0","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":"812c5c01-db4a-4af0-8115-9428e25c56ba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"64822f19-32c4-43a2-882f-43c710e59698","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"812c5c01-db4a-4af0-8115-9428e25c56ba","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"64822f19-32c4-43a2-882f-43c710e59698","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/64822f19-32c4-43a2-882f-43c710e59698' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"64822f19-32c4-43a2-882f-43c710e59698","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"de7e4a6c8fb75a4b51aee9c5c8be5b97","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"de7e4a6c8fb75a4b51aee9c5c8be5b97","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/812c5c01-db4a-4af0-8115-9428e25c56ba"},{"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/65003c08-3506-494b-ad2d-bd9526a499d0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698"}}},"level":"info","message":"received a callback","requestID":"de7e4a6c8fb75a4b51aee9c5c8be5b97"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e3a330a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F64822f19-32c4-43a2-882f-43c710e59698","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb6c39f2-f1c8-4243-a700-d1ce36f31d09","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.4941647} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.362729,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e3a330a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698","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":"e3a330a0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e3a330a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/64822f19-32c4-43a2-882f-43c710e59698 200 7ms","method":"GET","requestID":"e3a330a0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/peerconnections/64822f19-32c4-43a2-882f-43c710e59698"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 53ms","method":"POST","requestID":"de7e4a6c8fb75a4b51aee9c5c8be5b97","responseTime":53,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.078","http_referrer":"","http_user_agent":"node-fetch","requestID":"de7e4a6c8fb75a4b51aee9c5c8be5b97"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3aa83a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efffa5c2-640f-4fe7-b9f7-043b0ef8e674","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.5424643} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.211918,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e3aa83a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e3aa83a0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3aa83a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/812c5c01-db4a-4af0-8115-9428e25c56ba/signaling 200 8ms","method":"POST","requestID":"e3aa83a0-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3ac0a40-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OH0.Gw2fMwdnDS3mV_ehT4UXPDZptVKQnhzL8y0Ho03Z87I","level":"info","message":"auth send jwt","requestID":"17eeef25ca9267a8d8cc341b6bfcb5e5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"17eeef25ca9267a8d8cc341b6bfcb5e5","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:08Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604","requestID":"17eeef25ca9267a8d8cc341b6bfcb5e5"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77a42db6-8469-402c-b267-69c1b53ef4b9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.5529184} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.159769,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e3ac0a40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e3ac0a40-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.548157,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"17eeef25ca9267a8d8cc341b6bfcb5e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841848,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OH0.Gw2fMwdnDS3mV_ehT4UXPDZptVKQnhzL8y0Ho03Z87I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"17eeef25ca9267a8d8cc341b6bfcb5e5","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3ac0a40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/65003c08-3506-494b-ad2d-bd9526a499d0/signaling 200 33ms","method":"POST","requestID":"e3ac0a40-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604","requestID":"17eeef25ca9267a8d8cc341b6bfcb5e5"} experiment-1 | {"level":"info","message":"GET /experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604 200 35ms","method":"GET","requestID":"17eeef25ca9267a8d8cc341b6bfcb5e5","responseTime":35,"status":200,"url":"/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"} gateway-1 | {"time_local":"28/Apr/2025:12:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17eeef25ca9267a8d8cc341b6bfcb5e5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OH0.Gw2fMwdnDS3mV_ehT4UXPDZptVKQnhzL8y0Ho03Z87I","level":"info","message":"auth send jwt","requestID":"c9cc9f7a196c8cba6b636f4376c0a5de"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c9cc9f7a196c8cba6b636f4376c0a5de","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604","requestID":"c9cc9f7a196c8cba6b636f4376c0a5de"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.141463,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c9cc9f7a196c8cba6b636f4376c0a5de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841848,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OH0.Gw2fMwdnDS3mV_ehT4UXPDZptVKQnhzL8y0Ho03Z87I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c9cc9f7a196c8cba6b636f4376c0a5de","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Attempting to finish experiment","requestID":"c9cc9f7a196c8cba6b636f4376c0a5de"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e3b3d270-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.737704,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e3b3d270-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841848,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OH0.Gw2fMwdnDS3mV_ehT4UXPDZptVKQnhzL8y0Ho03Z87I"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e3b3d270-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698","device":"812c5c01-db4a-4af0-8115-9428e25c56ba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"65003c08-3506-494b-ad2d-bd9526a499d0","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":"65003c08-3506-494b-ad2d-bd9526a499d0","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":"65003c08-3506-494b-ad2d-bd9526a499d0","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/64822f19-32c4-43a2-882f-43c710e59698' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"64822f19-32c4-43a2-882f-43c710e59698","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F64822f19-32c4-43a2-882f-43c710e59698': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F64822f19-32c4-43a2-882f-43c710e59698","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"658aa25e-c66d-4be8-8ce4-1c918a29adb3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.6377618} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01497427-8e9e-4052-a9fc-f0ffeb44e1e1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.6381323} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"e3b3d270-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7dd3b9ee13d355e96229ee73f4fc9d4f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/812c5c01-db4a-4af0-8115-9428e25c56ba"},{"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/65003c08-3506-494b-ad2d-bd9526a499d0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698"}}},"level":"info","message":"received a callback","requestID":"7dd3b9ee13d355e96229ee73f4fc9d4f"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7dd3b9ee13d355e96229ee73f4fc9d4f","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8dfaeadd7882aa5f2dc3a56ead8c29ee","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e3b3d270-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8dfaeadd7882aa5f2dc3a56ead8c29ee","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"DELETE /peerconnections/64822f19-32c4-43a2-882f-43c710e59698 204 45ms","method":"DELETE","requestID":"e3b3d270-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":204,"url":"/peerconnections/64822f19-32c4-43a2-882f-43c710e59698"} 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/812c5c01-db4a-4af0-8115-9428e25c56ba"},{"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/65003c08-3506-494b-ad2d-bd9526a499d0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/64822f19-32c4-43a2-882f-43c710e59698"}}},"level":"info","message":"received a callback","requestID":"8dfaeadd7882aa5f2dc3a56ead8c29ee"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"},"level":"info","message":"Successfully finished experiment","requestID":"c9cc9f7a196c8cba6b636f4376c0a5de"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3c16700-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c5c01-db4a-4af0-8115-9428e25c56ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e55d2ce8-cbd0-43ec-8948-762c1a7dd251","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.692787} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.806897,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e3c16700-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/812c5c01-db4a-4af0-8115-9428e25c56ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e3c16700-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a5037e9-8957-482f-9ae2-06a1c5d9f604': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a5037e9-8957-482f-9ae2-06a1c5d9f604","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"9c04dfb1-26be-477b-94ae-47519a976070","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.6990259} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3c16700-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/812c5c01-db4a-4af0-8115-9428e25c56ba/signaling 200 11ms","method":"POST","requestID":"e3c16700-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/812c5c01-db4a-4af0-8115-9428e25c56ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3c67010-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"994856a4-2622-422b-8440-d35f21516e13","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.7250135} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"c9cc9f7a196c8cba6b636f4376c0a5de","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65003c08-3506-494b-ad2d-bd9526a499d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aca42e79-ea3d-446c-a20c-bae142319e10","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.7258253} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.551188,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e3c67010-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e3c67010-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3c67010-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/65003c08-3506-494b-ad2d-bd9526a499d0/signaling 200 10ms","method":"POST","requestID":"e3c67010-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/65003c08-3506-494b-ad2d-bd9526a499d0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604","requestID":"c9cc9f7a196c8cba6b636f4376c0a5de"} experiment-1 | {"level":"info","message":"DELETE /experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604 204 229ms","method":"DELETE","requestID":"c9cc9f7a196c8cba6b636f4376c0a5de","responseTime":229,"status":204,"url":"/experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604"} gateway-1 | {"time_local":"28/Apr/2025:12:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7a5037e9-8957-482f-9ae2-06a1c5d9f604 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.231","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9cc9f7a196c8cba6b636f4376c0a5de"} gateway-1 | {"time_local":"28/Apr/2025:12:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2529","request_time":"4.205","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"092b41d488f74e0fa9d424bbddaaef1f"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/65003c08-3506-494b-ad2d-bd9526a499d0' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 182ms","method":"POST","requestID":"7dd3b9ee13d355e96229ee73f4fc9d4f","responseTime":182,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.184","http_referrer":"","http_user_agent":"node-fetch","requestID":"7dd3b9ee13d355e96229ee73f4fc9d4f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 180ms","method":"POST","requestID":"8dfaeadd7882aa5f2dc3a56ead8c29ee","responseTime":180,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.182","http_referrer":"","http_user_agent":"node-fetch","requestID":"8dfaeadd7882aa5f2dc3a56ead8c29ee"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OH0.Gw2fMwdnDS3mV_ehT4UXPDZptVKQnhzL8y0Ho03Z87I","level":"info","message":"auth send jwt","requestID":"4d2a752dcb64af6f153e17d26548eaf7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4d2a752dcb64af6f153e17d26548eaf7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4d2a752dcb64af6f153e17d26548eaf7"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.156375,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4d2a752dcb64af6f153e17d26548eaf7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841848,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OH0.Gw2fMwdnDS3mV_ehT4UXPDZptVKQnhzL8y0Ho03Z87I"} gateway-1 | {"time_local":"28/Apr/2025:12:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.928","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"28b9b244ff3065f9a3248fb4657845fc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4d2a752dcb64af6f153e17d26548eaf7","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/812c5c01-db4a-4af0-8115-9428e25c56ba' 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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eb9d7690-4a5e-4610-bbbd-c81b0530634b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.8717556} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4d2a752dcb64af6f153e17d26548eaf7","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2de5100f-a70e-4cbc-bae4-65235dc67094","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.8769186} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4d2a752dcb64af6f153e17d26548eaf7","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"f1974346-b8aa-4038-9702-500ce9a6928d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.8879664} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b3d7c31-f300-4df0-b813-75f458d0bd5a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.8879778} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"4d2a752dcb64af6f153e17d26548eaf7","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.887938039Z"}]},"request_id":"0621d793-5fcb-42ac-9a3c-69c861a462ff","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.9169493} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4d2a752dcb64af6f153e17d26548eaf7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4d2a752dcb64af6f153e17d26548eaf7"} gateway-1 | {"time_local":"28/Apr/2025:12:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d2a752dcb64af6f153e17d26548eaf7"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"4d2a752dcb64af6f153e17d26548eaf7","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OH0.Gw2fMwdnDS3mV_ehT4UXPDZptVKQnhzL8y0Ho03Z87I","level":"info","message":"auth send jwt","requestID":"3f18117367646ede2f8b8e1a925727ee"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3f18117367646ede2f8b8e1a925727ee","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3f18117367646ede2f8b8e1a925727ee"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.681879,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"3f18117367646ede2f8b8e1a925727ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841848,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OH0.Gw2fMwdnDS3mV_ehT4UXPDZptVKQnhzL8y0Ho03Z87I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3f18117367646ede2f8b8e1a925727ee","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"87397c16-8d31-43f9-abdd-1ed06fddb577","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.9643645} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3f18117367646ede2f8b8e1a925727ee","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a310f9f0-5c24-4c06-b554-d4f562970077","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.9685454} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3f18117367646ede2f8b8e1a925727ee","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"902b51c0-68b6-46ba-ac76-bcdee3577340","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.9782517} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"607a5eab-e628-4fc1-9502-b0b1c9c67a64","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.9784627} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"3f18117367646ede2f8b8e1a925727ee","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.978230630Z"}]},"request_id":"7ff3904a-abd8-4f8c-b328-749413a63030","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841848.9828062} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3f18117367646ede2f8b8e1a925727ee","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3f18117367646ede2f8b8e1a925727ee"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"3f18117367646ede2f8b8e1a925727ee","responseTime":85,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f18117367646ede2f8b8e1a925727ee"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OX0.FgIZ6txOv9Ds_BUo9s4ooJVvVxDTxjLPJZLklgSDHL0","level":"info","message":"auth send jwt","requestID":"d7054467c7ea47a3268c471d8b2f6512"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d7054467c7ea47a3268c471d8b2f6512","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d7054467c7ea47a3268c471d8b2f6512"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721222,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d7054467c7ea47a3268c471d8b2f6512","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841849,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg0OX0.FgIZ6txOv9Ds_BUo9s4ooJVvVxDTxjLPJZLklgSDHL0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7054467c7ea47a3268c471d8b2f6512","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.978230630Z"}]},"request_id":"d039888a-8e53-4ba1-bde5-efc0b9dd8843","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841849.989286} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7054467c7ea47a3268c471d8b2f6512","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0297f957-22c5-47c8-a36a-3713524a8d68","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841850.018965} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"d7054467c7ea47a3268c471d8b2f6512","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.978230630Z"}]},"request_id":"da288d01-a3d4-4c01-9e8b-892b64e2d779","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841850.039928} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"d7054467c7ea47a3268c471d8b2f6512","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d7054467c7ea47a3268c471d8b2f6512"} gateway-1 | {"time_local":"28/Apr/2025:12:04:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.090","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d7054467c7ea47a3268c471d8b2f6512"} device-1 | {"level":"info","message":"PATCH /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2 200 86ms","method":"PATCH","requestID":"d7054467c7ea47a3268c471d8b2f6512","responseTime":86,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MH0.IaWhD_hEpp1h51dBakLA3-FZkM4SOAYhx8ciex1WY6U","level":"info","message":"auth send jwt","requestID":"9507e5da8ffa116cbffbc7a5eb0da915"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9507e5da8ffa116cbffbc7a5eb0da915","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9507e5da8ffa116cbffbc7a5eb0da915"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:10Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658214,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9507e5da8ffa116cbffbc7a5eb0da915","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841850,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MH0.IaWhD_hEpp1h51dBakLA3-FZkM4SOAYhx8ciex1WY6U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9507e5da8ffa116cbffbc7a5eb0da915","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9507e5da8ffa116cbffbc7a5eb0da915"} device-1 | {"level":"info","message":"POST /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/websocket 200 14ms","method":"POST","requestID":"9507e5da8ffa116cbffbc7a5eb0da915","responseTime":14,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:04:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9507e5da8ffa116cbffbc7a5eb0da915"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dc85a40477d33a23acf4b334a4973706","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dc85a40477d33a23acf4b334a4973706","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/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":"dc85a40477d33a23acf4b334a4973706"} device-1 | {"level":"info","message":"OPTIONS /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/websocket 200 1ms","method":"OPTIONS","requestID":"dc85a40477d33a23acf4b334a4973706","responseTime":1,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U","level":"info","message":"auth send jwt","requestID":"047f1d2e59d6c7c41b04f04b30d23f51"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"047f1d2e59d6c7c41b04f04b30d23f51","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"047f1d2e59d6c7c41b04f04b30d23f51"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631197,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"047f1d2e59d6c7c41b04f04b30d23f51","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"047f1d2e59d6c7c41b04f04b30d23f51","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"047f1d2e59d6c7c41b04f04b30d23f51"} gateway-1 | {"time_local":"28/Apr/2025:12:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/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":"047f1d2e59d6c7c41b04f04b30d23f51"} device-1 | {"level":"info","message":"POST /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/websocket 200 44ms","method":"POST","requestID":"047f1d2e59d6c7c41b04f04b30d23f51","responseTime":44,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U","level":"info","message":"auth send jwt","requestID":"8878ec30af97851ee6b46d2920789421"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8878ec30af97851ee6b46d2920789421","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8878ec30af97851ee6b46d2920789421"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681514,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8878ec30af97851ee6b46d2920789421","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"8878ec30af97851ee6b46d2920789421","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.887938039Z"}]},"request_id":"4f548172-2a60-4b53-8ccf-0b84bce961a7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.36459} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8878ec30af97851ee6b46d2920789421","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8878ec30af97851ee6b46d2920789421"} gateway-1 | {"time_local":"28/Apr/2025:12:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79? 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":"8878ec30af97851ee6b46d2920789421"} device-1 | {"level":"info","message":"GET /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79? 200 33ms","method":"GET","requestID":"8878ec30af97851ee6b46d2920789421","responseTime":33,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U","level":"info","message":"auth send jwt","requestID":"b2fa5392aca507c74cac3ac31fc79953"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b2fa5392aca507c74cac3ac31fc79953","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b2fa5392aca507c74cac3ac31fc79953"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69732,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"b2fa5392aca507c74cac3ac31fc79953","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b2fa5392aca507c74cac3ac31fc79953","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.978230630Z"}]},"request_id":"8092c43b-7e9c-4ec3-b376-ccc759230d49","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.3792562} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2fa5392aca507c74cac3ac31fc79953","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b2fa5392aca507c74cac3ac31fc79953"} gateway-1 | {"time_local":"28/Apr/2025:12:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2fa5392aca507c74cac3ac31fc79953"} device-1 | {"level":"info","message":"GET /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2? 200 10ms","method":"GET","requestID":"b2fa5392aca507c74cac3ac31fc79953","responseTime":10,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U","level":"info","message":"auth send jwt","requestID":"db712b03a417b5426200ab42f90fb2fa"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"db712b03a417b5426200ab42f90fb2fa","responseTime":30,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"db712b03a417b5426200ab42f90fb2fa"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.377011,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"db712b03a417b5426200ab42f90fb2fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"db712b03a417b5426200ab42f90fb2fa","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Attempting to run experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Attempting to book experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Successfully booked experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e56aaa30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e56af850-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659373,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e56aaa30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e56aaa30-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91308,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e56af850-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e56af850-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.887938039Z"}]},"request_id":"17ed41b7-4985-438f-a3e5-7abc549dafa3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.5071838} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e56aaa30-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.978230630Z"}]},"request_id":"8c24af1a-29ff-4b9d-9fa7-0005acc9bd60","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.507929} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e56af850-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e56aaa30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79? 200 36ms","method":"GET","requestID":"e56aaa30-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e56af850-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2? 200 35ms","method":"GET","requestID":"e56af850-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Setting up experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Successfully locked booking for experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Attempting to update booking for experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Successfully updated booking for experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Successfully set up experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5790210-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5795030-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e5797740-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Successfully running experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980034,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e5790210-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e5790210-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672623,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e5795030-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"e5795030-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6dbe57ea-962e-4582-a072-e46760b37918","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.603196} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.053672,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e5797740-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","object_type":"device","rebac_allow":false,"scope_allow":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":"e5797740-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.887938039Z"}]},"request_id":"cc94996e-61b0-46ac-bc7c-0a56d5b917b6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.604801} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.978230630Z"}]},"request_id":"ffd894e3-21ef-4dd0-b959-ff0f0e4640b9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.606246} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e5790210-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e5795030-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e5797740-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/signaling 200 40ms","method":"POST","requestID":"e5797740-2428-11f0-a0e6-516e7b85a777","responseTime":40,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5790210-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3810f3b6-111e-4b50-875a-035aa6c73b08#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3810f3b6-111e-4b50-875a-035aa6c73b08","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"5f7ce880-ac0e-47c0-b82d-07359e0d353f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.6124134} device-1 | {"level":"info","message":"GET /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79? 200 44ms","method":"GET","requestID":"e5790210-2428-11f0-a0e6-516e7b85a777","responseTime":44,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68acdceb-8a8c-4215-b669-a775c4781f54","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.6129656} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5795030-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2? 200 43ms","method":"GET","requestID":"e5795030-2428-11f0-a0e6-516e7b85a777","responseTime":43,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e58006f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"db712b03a417b5426200ab42f90fb2fa","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e5805510-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74a6a2f0-9940-47f6-a059-3726128aa716","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.6196463} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.002486,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e58006f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e58006f0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a31d876-4182-4c9e-b46e-75996c78d645","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.6226542} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.266288,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"db712b03a417b5426200ab42f90fb2fa"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e5805510-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","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":"e58006f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"e5805510-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/signaling 200 34ms","method":"POST","requestID":"e58006f0-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/signaling"} gateway-1 | {"time_local":"28/Apr/2025:12:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.265","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"level":"info","message":"POST /experiments? 201 234ms","method":"POST","requestID":"db712b03a417b5426200ab42f90fb2fa","responseTime":234,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e5805510-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/signaling 200 36ms","method":"POST","requestID":"e5805510-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U","level":"info","message":"auth send jwt","requestID":"89f32e55227ccc50cb83b08182463d5f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"89f32e55227ccc50cb83b08182463d5f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89f32e55227ccc50cb83b08182463d5f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e5862170-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:47472","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698532,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"89f32e55227ccc50cb83b08182463d5f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"89f32e55227ccc50cb83b08182463d5f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f403811-2214-452f-bff9-047162479a14","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.6597176} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.245587,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e5862170-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e5862170-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.887938039Z"}]},"request_id":"39631a82-bb6a-4c03-b1c0-18da93de9631","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.6619} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89f32e55227ccc50cb83b08182463d5f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e5862170-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/signaling 200 14ms","method":"POST","requestID":"e5862170-2428-11f0-a0e6-516e7b85a777","responseTime":14,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89f32e55227ccc50cb83b08182463d5f"} gateway-1 | {"time_local":"28/Apr/2025:12:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89f32e55227ccc50cb83b08182463d5f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Building connection plan","requestID":"db712b03a417b5426200ab42f90fb2fa"} device-1 | {"level":"info","message":"GET /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79? 200 16ms","method":"GET","requestID":"89f32e55227ccc50cb83b08182463d5f","responseTime":16,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79?"} 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":"2b9ce497-f1ce-4f15-a6d5-ac6fea5a8117"},{"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":"b6b73989-1168-45c8-a061-d79c4a275839"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b537aa42-9c38-40e5-84a2-cc800d34ab66"}]},"level":"info","message":"Built pairwise service configurations","requestID":"db712b03a417b5426200ab42f90fb2fa"} 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/3d012d47-cf7b-42d0-810d-ea340e003cc2"},{"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/101fc8c7-385e-4775-b6bb-1df1ea3efe79"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"db712b03a417b5426200ab42f90fb2fa"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e5889270-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U","level":"info","message":"auth send jwt","requestID":"87f6a5746cc7af072f61795d0a9321e2"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"87f6a5746cc7af072f61795d0a9321e2","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.948833,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87f6a5746cc7af072f61795d0a9321e2"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e5889270-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e5889270-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744582,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"87f6a5746cc7af072f61795d0a9321e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841851,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1MX0.WJmsOgIl7wPKtadYORXEccDuEFv0TJoGLKUqTpwNM9U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"87f6a5746cc7af072f61795d0a9321e2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:08.978230630Z"}]},"request_id":"bb43e460-f9f9-432f-a111-f43927761f80","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.7065663} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"87f6a5746cc7af072f61795d0a9321e2","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"2a971d05-ae53-4129-932f-ff4c4cad78d6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.7102504} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87f6a5746cc7af072f61795d0a9321e2"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de693fef-4d6c-4289-a5e7-9ef053e2d0dc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.7104769} gateway-1 | {"time_local":"28/Apr/2025:12:04:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2? 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":"87f6a5746cc7af072f61795d0a9321e2"} device-1 | {"level":"info","message":"GET /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2? 200 12ms","method":"GET","requestID":"87f6a5746cc7af072f61795d0a9321e2","responseTime":12,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e5889270-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e5889270-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e5889270-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e'","requestID":"e5889270-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e'","requestID":"e5889270-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e5889270-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 79ms","method":"POST","requestID":"e5889270-2428-11f0-a0e6-516e7b85a777","responseTime":79,"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":"e5889270-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e","device":"101fc8c7-385e-4775-b6bb-1df1ea3efe79","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/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"db712b03a417b5426200ab42f90fb2fa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e59c4180-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8cfcc0c-710d-42ec-a725-3f149476eb49","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.8060591} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.94206,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e59c4180-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","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":"101fc8c7-385e-4775-b6bb-1df1ea3efe79","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"101fc8c7-385e-4775-b6bb-1df1ea3efe79","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e59c4180-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 5464839767461503606 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:VM3A\r\na=ice-pwd:LFP10cdzHDOH3CLj4+JkrR/f\r\na=ice-options:trickle\r\na=fingerprint:sha-256 84:B4:3A:C6:25:80:02:9B:0F:47:E9:0E:EC:86:DC:D4:FC:F5:46:24:C7:09:D5:87:B7:9D:A8:36:32:01:79:03\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"101fc8c7-385e-4775-b6bb-1df1ea3efe79","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e59c4180-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/signaling 200 13ms","method":"POST","requestID":"e59c4180-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e59eb280-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d539965-70e6-4939-9155-b10912af49d8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841851.819906} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.215265,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e59eb280-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","rebac_allow":false,"scope_allow":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":"e59eb280-2428-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e59eb280-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/signaling 200 31ms","method":"POST","requestID":"e59eb280-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/signaling"} device-1 | {"device":"101fc8c7-385e-4775-b6bb-1df1ea3efe79","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"3d012d47-cf7b-42d0-810d-ea340e003cc2","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":"a8d28948-b378-4e51-a09b-61d33d5bdc1e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3d012d47-cf7b-42d0-810d-ea340e003cc2","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":"3d012d47-cf7b-42d0-810d-ea340e003cc2","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":"3d012d47-cf7b-42d0-810d-ea340e003cc2","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":"3d012d47-cf7b-42d0-810d-ea340e003cc2","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/a8d28948-b378-4e51-a09b-61d33d5bdc1e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a8d28948-b378-4e51-a09b-61d33d5bdc1e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a16c12456bdfcbb973356d4105f9c1c9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a16c12456bdfcbb973356d4105f9c1c9","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2"},{"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/101fc8c7-385e-4775-b6bb-1df1ea3efe79"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e"}}},"level":"info","message":"received a callback","requestID":"a16c12456bdfcbb973356d4105f9c1c9"} device-1 | {"content":{"candidate":"candidate:795811290 1 udp 2113937151 eba3eccd-bee1-451b-90cc-0175bce29578.local 58132 typ host generation 0 ufrag VM3A network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"101fc8c7-385e-4775-b6bb-1df1ea3efe79","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"a16c12456bdfcbb973356d4105f9c1c9","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"101fc8c7-385e-4775-b6bb-1df1ea3efe79","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} gateway-1 | {"time_local":"28/Apr/2025:12:04:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"a16c12456bdfcbb973356d4105f9c1c9"} device-1 | {"device":"3d012d47-cf7b-42d0-810d-ea340e003cc2","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":"101fc8c7-385e-4775-b6bb-1df1ea3efe79","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"3d012d47-cf7b-42d0-810d-ea340e003cc2","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":"a8d28948-b378-4e51-a09b-61d33d5bdc1e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a8d28948-b378-4e51-a09b-61d33d5bdc1e","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/a8d28948-b378-4e51-a09b-61d33d5bdc1e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a8d28948-b378-4e51-a09b-61d33d5bdc1e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f18908a0e8f19ad07a5d09b0ca762de7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f18908a0e8f19ad07a5d09b0ca762de7","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/3d012d47-cf7b-42d0-810d-ea340e003cc2"},{"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/101fc8c7-385e-4775-b6bb-1df1ea3efe79"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e"}}},"level":"info","message":"received a callback","requestID":"f18908a0e8f19ad07a5d09b0ca762de7"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e6d75990-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:13Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa8d28948-b378-4e51-a09b-61d33d5bdc1e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afcc3f00-0c6a-4fa1-ac2d-bbd870c18025","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841853.8690536} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.416359,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e6d75990-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e","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":"e6d75990-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e6d75990-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e 200 7ms","method":"GET","requestID":"e6d75990-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"f18908a0e8f19ad07a5d09b0ca762de7","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"f18908a0e8f19ad07a5d09b0ca762de7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6deac90-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:13Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3b477b3-e54f-438b-b2ff-57a9a285142b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841853.9173987} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.179504,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e6deac90-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e6deac90-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6deac90-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/signaling 200 8ms","method":"POST","requestID":"e6deac90-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6e00c20-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:13Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e422f706-df3b-4b8d-91fd-cf0db2ae75fe","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841853.9265108} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1M30.A73Q9l0JfQPI0AdLqP50Gia8I7iaJ1dAPV7Ev6IyesI","level":"info","message":"auth send jwt","requestID":"70b718baf450cadbddcf16509afee3c1"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.291718,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:13Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"70b718baf450cadbddcf16509afee3c1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3810f3b6-111e-4b50-875a-035aa6c73b08","requestID":"70b718baf450cadbddcf16509afee3c1"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e6e00c20-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e6e00c20-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6e00c20-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/signaling 200 8ms","method":"POST","requestID":"e6e00c20-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/signaling"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.60013,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"70b718baf450cadbddcf16509afee3c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841853,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1M30.A73Q9l0JfQPI0AdLqP50Gia8I7iaJ1dAPV7Ev6IyesI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"70b718baf450cadbddcf16509afee3c1","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3810f3b6-111e-4b50-875a-035aa6c73b08","requestID":"70b718baf450cadbddcf16509afee3c1"} experiment-1 | {"level":"info","message":"GET /experiments/3810f3b6-111e-4b50-875a-035aa6c73b08 200 33ms","method":"GET","requestID":"70b718baf450cadbddcf16509afee3c1","responseTime":33,"status":200,"url":"/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"} gateway-1 | {"time_local":"28/Apr/2025:12:04:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3810f3b6-111e-4b50-875a-035aa6c73b08 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70b718baf450cadbddcf16509afee3c1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1M30.A73Q9l0JfQPI0AdLqP50Gia8I7iaJ1dAPV7Ev6IyesI","level":"info","message":"auth send jwt","requestID":"3678d9732b53951dc2cc601646ecf505"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3678d9732b53951dc2cc601646ecf505","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3810f3b6-111e-4b50-875a-035aa6c73b08","requestID":"3678d9732b53951dc2cc601646ecf505"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.971368,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"3678d9732b53951dc2cc601646ecf505","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841853,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1M30.A73Q9l0JfQPI0AdLqP50Gia8I7iaJ1dAPV7Ev6IyesI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3678d9732b53951dc2cc601646ecf505","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Attempting to finish experiment","requestID":"3678d9732b53951dc2cc601646ecf505"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e6e82270-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:14Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.718948,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e6e82270-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841853,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1M30.A73Q9l0JfQPI0AdLqP50Gia8I7iaJ1dAPV7Ev6IyesI"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e6e82270-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e","device":"101fc8c7-385e-4775-b6bb-1df1ea3efe79","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"3d012d47-cf7b-42d0-810d-ea340e003cc2","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":"3d012d47-cf7b-42d0-810d-ea340e003cc2","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":"3d012d47-cf7b-42d0-810d-ea340e003cc2","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/a8d28948-b378-4e51-a09b-61d33d5bdc1e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a8d28948-b378-4e51-a09b-61d33d5bdc1e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa8d28948-b378-4e51-a09b-61d33d5bdc1e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa8d28948-b378-4e51-a09b-61d33d5bdc1e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"f4eac896-894b-47f4-8c4c-52077d68f13d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.0134041} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5a1cea4a6aaca825bcc7965ee0d4b0c1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4813f22b-9b5a-40e7-a48a-183173873fb6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.01382} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5a1cea4a6aaca825bcc7965ee0d4b0c1","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"e6e82270-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2"},{"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/101fc8c7-385e-4775-b6bb-1df1ea3efe79"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e"}}},"level":"info","message":"received a callback","requestID":"5a1cea4a6aaca825bcc7965ee0d4b0c1"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"87978413ade8025168a061b5a7f63af0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"87978413ade8025168a061b5a7f63af0","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":"closed","url":"http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2"},{"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/101fc8c7-385e-4775-b6bb-1df1ea3efe79"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e"}}},"level":"info","message":"received a callback","requestID":"87978413ade8025168a061b5a7f63af0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e6e82270-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e 204 87ms","method":"DELETE","requestID":"e6e82270-2428-11f0-a0e6-516e7b85a777","responseTime":87,"status":204,"url":"/peerconnections/a8d28948-b378-4e51-a09b-61d33d5bdc1e"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"},"level":"info","message":"Successfully finished experiment","requestID":"3678d9732b53951dc2cc601646ecf505"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6fb0e30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:14Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d012d47-cf7b-42d0-810d-ea340e003cc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db66b7b0-2a19-46a9-8620-62c3440ab475","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.1033914} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.306831,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e6fb0e30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e6fb0e30-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6fb0e30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/signaling 200 8ms","method":"POST","requestID":"e6fb0e30-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6fc94d0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:14Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3810f3b6-111e-4b50-875a-035aa6c73b08': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3810f3b6-111e-4b50-875a-035aa6c73b08","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"b3294c6c-2a6c-4b34-8646-ef459cf9a6be","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.1130078} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f473b61-2b9b-4113-a241-07eb671c69ba","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.1132684} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101fc8c7-385e-4775-b6bb-1df1ea3efe79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9dd582c-cf62-4ae9-9e8e-d3fe300c36b0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.1138031} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"3678d9732b53951dc2cc601646ecf505","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.369168,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e6fc94d0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e6fc94d0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6fc94d0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/signaling 200 9ms","method":"POST","requestID":"e6fc94d0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3810f3b6-111e-4b50-875a-035aa6c73b08","requestID":"3678d9732b53951dc2cc601646ecf505"} gateway-1 | {"time_local":"28/Apr/2025:12:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3810f3b6-111e-4b50-875a-035aa6c73b08 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.244","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3678d9732b53951dc2cc601646ecf505"} experiment-1 | {"level":"info","message":"DELETE /experiments/3810f3b6-111e-4b50-875a-035aa6c73b08 204 241ms","method":"DELETE","requestID":"3678d9732b53951dc2cc601646ecf505","responseTime":241,"status":204,"url":"/experiments/3810f3b6-111e-4b50-875a-035aa6c73b08"} gateway-1 | {"time_local":"28/Apr/2025:12:04:14 +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.120","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"49147a8c37d41a366f9ed9b6c9ef8d13"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3d012d47-cf7b-42d0-810d-ea340e003cc2' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"5a1cea4a6aaca825bcc7965ee0d4b0c1","responseTime":195,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.198","http_referrer":"","http_user_agent":"node-fetch","requestID":"5a1cea4a6aaca825bcc7965ee0d4b0c1"} device-1 | {"level":"info","message":"postDevices called","requestID":"c8eaf58f445601de8a406ca2fc25695f"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:14Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1NH0.8HWxR0eb7gB78sK8CkEQ3LWUxTLN5vnDQQma9iWBhX0","level":"info","message":"auth send jwt","requestID":"c8eaf58f445601de8a406ca2fc25695f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c8eaf58f445601de8a406ca2fc25695f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.732661,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:14Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 224ms","method":"POST","requestID":"87978413ade8025168a061b5a7f63af0","responseTime":224,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.226","http_referrer":"","http_user_agent":"node-fetch","requestID":"87978413ade8025168a061b5a7f63af0"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c8eaf58f445601de8a406ca2fc25695f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841854,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1NH0.8HWxR0eb7gB78sK8CkEQ3LWUxTLN5vnDQQma9iWBhX0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c8eaf58f445601de8a406ca2fc25695f","responseTime":28,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:04:14 +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.917","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f8054b7dab201c9fe7778084ed5e200b"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/101fc8c7-385e-4775-b6bb-1df1ea3efe79' 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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"65ff7808-8dd8-48ca-884e-d471b89e699b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.255702} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c8eaf58f445601de8a406ca2fc25695f","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e438e16-8fbd-4686-a105-6a5fea0a4e00","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.260285} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"c8eaf58f445601de8a406ca2fc25695f","responseTime":31,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"2bcf5bc8-5206-4ce1-9477-7bed275f686d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.2912767} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ceff99af-f663-442e-b56f-eae20815b5a1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.2915132} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"c8eaf58f445601de8a406ca2fc25695f","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.291252603Z"}]},"request_id":"75019a77-370a-449c-af23-d8e5502e29e4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.2958043} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c8eaf58f445601de8a406ca2fc25695f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c8eaf58f445601de8a406ca2fc25695f"} gateway-1 | {"time_local":"28/Apr/2025:12:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8eaf58f445601de8a406ca2fc25695f"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"c8eaf58f445601de8a406ca2fc25695f","responseTime":84,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1NH0.8HWxR0eb7gB78sK8CkEQ3LWUxTLN5vnDQQma9iWBhX0","level":"info","message":"auth send jwt","requestID":"7e412ce2fabd21c42b1b5307b0024da2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7e412ce2fabd21c42b1b5307b0024da2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7e412ce2fabd21c42b1b5307b0024da2"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:14Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.82099,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7e412ce2fabd21c42b1b5307b0024da2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841854,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1NH0.8HWxR0eb7gB78sK8CkEQ3LWUxTLN5vnDQQma9iWBhX0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7e412ce2fabd21c42b1b5307b0024da2","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b246427e-967f-4d7f-aad4-61bd0898f866","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.3437817} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7e412ce2fabd21c42b1b5307b0024da2","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"abf0f19f-3a8c-4ddd-a912-0969e3f65fc7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.348394} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7e412ce2fabd21c42b1b5307b0024da2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"e42d86de-64c1-455e-961e-ef1e2ee21a94","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.35783} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50aba34f-e92a-4947-a44c-1d0c3cf83f7e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.3581781} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"7e412ce2fabd21c42b1b5307b0024da2","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7e412ce2fabd21c42b1b5307b0024da2"} gateway-1 | {"time_local":"28/Apr/2025:12:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e412ce2fabd21c42b1b5307b0024da2"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"7e412ce2fabd21c42b1b5307b0024da2","responseTime":62,"status":201,"url":"/devices?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.357809553Z"}]},"request_id":"156e8dc1-22f6-4f14-b3f2-0894b94f1c2a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841854.3620994} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7e412ce2fabd21c42b1b5307b0024da2","responseTime":4,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1NX0.8dwZkgeVONly_p26b_EYKFZv7n5sAZAGGL6TDOA19ZY","level":"info","message":"auth send jwt","requestID":"d51c4e38b4546810cb6d44f3333e5090"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d51c4e38b4546810cb6d44f3333e5090","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d51c4e38b4546810cb6d44f3333e5090"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.899867,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d51c4e38b4546810cb6d44f3333e5090","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841855,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1NX0.8dwZkgeVONly_p26b_EYKFZv7n5sAZAGGL6TDOA19ZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"d51c4e38b4546810cb6d44f3333e5090","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.291252603Z"}]},"request_id":"1a7abb1f-7be8-462e-82b7-579c40a1a408","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841855.3513584} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d51c4e38b4546810cb6d44f3333e5090","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e409c1c-9b9f-4b70-a0fd-bfb7be94c878","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841855.355812} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d51c4e38b4546810cb6d44f3333e5090","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.291252603Z"}]},"request_id":"03a0c703-fce7-4126-8bb1-4e88f059ebb6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841855.4014099} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d51c4e38b4546810cb6d44f3333e5090","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d51c4e38b4546810cb6d44f3333e5090"} device-1 | {"level":"info","message":"PATCH /devices/409025a8-b51c-4d93-a7dd-ca46597d4020 200 85ms","method":"PATCH","requestID":"d51c4e38b4546810cb6d44f3333e5090","responseTime":85,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020"} gateway-1 | {"time_local":"28/Apr/2025:12:04:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/409025a8-b51c-4d93-a7dd-ca46597d4020 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.089","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d51c4e38b4546810cb6d44f3333e5090"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1NX0.8dwZkgeVONly_p26b_EYKFZv7n5sAZAGGL6TDOA19ZY","level":"info","message":"auth send jwt","requestID":"8ca8a9dc54f646584653ea6200ba293d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8ca8a9dc54f646584653ea6200ba293d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8ca8a9dc54f646584653ea6200ba293d"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741485,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8ca8a9dc54f646584653ea6200ba293d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841855,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1NX0.8dwZkgeVONly_p26b_EYKFZv7n5sAZAGGL6TDOA19ZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ca8a9dc54f646584653ea6200ba293d","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8ca8a9dc54f646584653ea6200ba293d"} gateway-1 | {"time_local":"28/Apr/2025:12:04:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/409025a8-b51c-4d93-a7dd-ca46597d4020/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8ca8a9dc54f646584653ea6200ba293d"} device-1 | {"level":"info","message":"POST /devices/409025a8-b51c-4d93-a7dd-ca46597d4020/websocket 200 37ms","method":"POST","requestID":"8ca8a9dc54f646584653ea6200ba293d","responseTime":37,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ddb57bd00cf6398b8fadfc8cfeb43960","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ddb57bd00cf6398b8fadfc8cfeb43960","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/db48344c-b53e-49f6-aa08-f95db25282a1/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":"ddb57bd00cf6398b8fadfc8cfeb43960"} device-1 | {"level":"info","message":"OPTIONS /devices/db48344c-b53e-49f6-aa08-f95db25282a1/websocket 200 1ms","method":"OPTIONS","requestID":"ddb57bd00cf6398b8fadfc8cfeb43960","responseTime":1,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw","level":"info","message":"auth send jwt","requestID":"49e8ad251a0dffec8ccf1f41c48e6262"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"49e8ad251a0dffec8ccf1f41c48e6262","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"49e8ad251a0dffec8ccf1f41c48e6262"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733235,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"49e8ad251a0dffec8ccf1f41c48e6262","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841856,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"49e8ad251a0dffec8ccf1f41c48e6262","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"49e8ad251a0dffec8ccf1f41c48e6262"} gateway-1 | {"time_local":"28/Apr/2025:12:04:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/db48344c-b53e-49f6-aa08-f95db25282a1/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":"49e8ad251a0dffec8ccf1f41c48e6262"} device-1 | {"level":"info","message":"POST /devices/db48344c-b53e-49f6-aa08-f95db25282a1/websocket 200 40ms","method":"POST","requestID":"49e8ad251a0dffec8ccf1f41c48e6262","responseTime":40,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw","level":"info","message":"auth send jwt","requestID":"ba4fdc1d02f8925396865df051cc2eee"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ba4fdc1d02f8925396865df051cc2eee","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ba4fdc1d02f8925396865df051cc2eee"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771696,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ba4fdc1d02f8925396865df051cc2eee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841856,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ba4fdc1d02f8925396865df051cc2eee","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.291252603Z"}]},"request_id":"e5ccca7d-9d46-460e-9596-6164b6842c4e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841856.804574} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ba4fdc1d02f8925396865df051cc2eee","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ba4fdc1d02f8925396865df051cc2eee"} gateway-1 | {"time_local":"28/Apr/2025:12:04:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/409025a8-b51c-4d93-a7dd-ca46597d4020? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba4fdc1d02f8925396865df051cc2eee"} device-1 | {"level":"info","message":"GET /devices/409025a8-b51c-4d93-a7dd-ca46597d4020? 200 9ms","method":"GET","requestID":"ba4fdc1d02f8925396865df051cc2eee","responseTime":9,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw","level":"info","message":"auth send jwt","requestID":"becf80db0be46447e63936e9dc5a9c22"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"becf80db0be46447e63936e9dc5a9c22"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"becf80db0be46447e63936e9dc5a9c22","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.801935,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"becf80db0be46447e63936e9dc5a9c22","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841856,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"becf80db0be46447e63936e9dc5a9c22","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.357809553Z"}]},"request_id":"b0917049-a829-4107-919c-00a896d67227","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841856.8429322} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"becf80db0be46447e63936e9dc5a9c22","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"becf80db0be46447e63936e9dc5a9c22"} gateway-1 | {"time_local":"28/Apr/2025:12:04:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/db48344c-b53e-49f6-aa08-f95db25282a1? 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":"becf80db0be46447e63936e9dc5a9c22"} device-1 | {"level":"info","message":"GET /devices/db48344c-b53e-49f6-aa08-f95db25282a1? 200 9ms","method":"GET","requestID":"becf80db0be46447e63936e9dc5a9c22","responseTime":9,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw","level":"info","message":"auth send jwt","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.679882,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"208aa8b7d3d6b1d0a077f88d14aba05e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841856,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Attempting to run experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Attempting to book experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Successfully booked experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e8ab2f30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e8ab5640-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.628679,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8ab2f30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841856,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e8ab2f30-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52256","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"client_addr":"127.0.0.1:52256","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.040379,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8ab5640-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841856,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e8ab5640-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.291252603Z"}]},"request_id":"ef0374ed-c29b-492c-bc39-2ba95605ca41","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841856.9383464} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e8ab2f30-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.357809553Z"}]},"request_id":"dafc4af5-cc38-45d7-9e22-804c0ae7bf6f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841856.9414861} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e8ab2f30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/409025a8-b51c-4d93-a7dd-ca46597d4020? 200 11ms","method":"GET","requestID":"e8ab2f30-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e8ab5640-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e8ab5640-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/db48344c-b53e-49f6-aa08-f95db25282a1? 200 12ms","method":"GET","requestID":"e8ab5640-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Setting up experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Successfully locked booking for experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Attempting to update booking for experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Successfully updated booking for experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Successfully set up experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e8b98710-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e8b9ae20-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8b9d530-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Successfully running experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} authorization-1 | {"client_addr":"127.0.0.1:52256","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"client_addr":"127.0.0.1:52256","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904353,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8b98710-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841856,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e8b98710-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626159,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8b9ae20-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841856,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e8b9ae20-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.291252603Z"}]},"request_id":"2291e12b-3eba-40ae-8c73-25479b26dad5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.0346045} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e8b98710-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.357809553Z"}]},"request_id":"0b1c16df-8d1a-485a-ac1a-a0e0c2b64048","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.0355287} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57136975-ebae-4f2e-8ecb-5041bb3b1aa4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.0372016} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e8b98710-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e8b9ae20-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/409025a8-b51c-4d93-a7dd-ca46597d4020? 200 14ms","method":"GET","requestID":"e8b98710-2428-11f0-a0e6-516e7b85a777","responseTime":14,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020?"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.592616,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e8b9ae20-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8b9d530-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","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/db48344c-b53e-49f6-aa08-f95db25282a1? 200 15ms","method":"GET","requestID":"e8b9ae20-2428-11f0-a0e6-516e7b85a777","responseTime":15,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1?"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"e8b9d530-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b782f08-566f-432e-854b-bf44e2a3eb92#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b782f08-566f-432e-854b-bf44e2a3eb92","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"6d240afa-366b-4233-bd3d-6e7156cbca56","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.0410938} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"846a0222-c3a3-4636-b3a9-f2c906cb41dd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.0413902} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8b9d530-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/409025a8-b51c-4d93-a7dd-ca46597d4020/signaling 200 17ms","method":"POST","requestID":"e8b9d530-2428-11f0-a0e6-516e7b85a777","responseTime":17,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8bc9450-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8bd0980-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"235be83b-9820-48f5-8d23-a9cc0c57038b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.0734053} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.899237,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 225ms","method":"POST","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e","responseTime":225,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8bc9450-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"28/Apr/2025:12:04:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"e8bc9450-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ec6527b-fa26-4c37-b0b1-9dd70e453d83","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.0775259} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.391268,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8bc9450-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/409025a8-b51c-4d93-a7dd-ca46597d4020/signaling 200 34ms","method":"POST","requestID":"e8bc9450-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8bd0980-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e8bd0980-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1N30.9xnUaQ0vF0cwIN-Qvd8-WGEyerhMg8311SUTI4Ri2mA","level":"info","message":"auth send jwt","requestID":"9710fa826f31b70d38d3ce2fbc5577b8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9710fa826f31b70d38d3ce2fbc5577b8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8c21290-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9710fa826f31b70d38d3ce2fbc5577b8"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8bd0980-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/db48344c-b53e-49f6-aa08-f95db25282a1/signaling 200 36ms","method":"POST","requestID":"e8bd0980-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c7081b5-7530-40aa-95c3-6c48a7475f86","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.0854785} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884521,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887727,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9710fa826f31b70d38d3ce2fbc5577b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841857,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1N30.9xnUaQ0vF0cwIN-Qvd8-WGEyerhMg8311SUTI4Ri2mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9710fa826f31b70d38d3ce2fbc5577b8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8c21290-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e8c21290-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.291252603Z"}]},"request_id":"fec6f2ce-a6f0-4236-85cd-12960b64112b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.089924} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8c21290-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/db48344c-b53e-49f6-aa08-f95db25282a1/signaling 200 9ms","method":"POST","requestID":"e8c21290-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9710fa826f31b70d38d3ce2fbc5577b8","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Building connection plan","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} 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":"85cd09b9-5ed3-4022-af25-28c8bfa6540d"},{"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":"4dde747b-378f-4737-9ef9-8693bba1b91f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7e516919-6e4f-4593-bec1-d1ddb7e0f1da"}]},"level":"info","message":"Built pairwise service configurations","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} 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/409025a8-b51c-4d93-a7dd-ca46597d4020"},{"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/db48344c-b53e-49f6-aa08-f95db25282a1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9710fa826f31b70d38d3ce2fbc5577b8"} gateway-1 | {"time_local":"28/Apr/2025:12:04:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/409025a8-b51c-4d93-a7dd-ca46597d4020? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9710fa826f31b70d38d3ce2fbc5577b8"} device-1 | {"level":"info","message":"GET /devices/409025a8-b51c-4d93-a7dd-ca46597d4020? 200 11ms","method":"GET","requestID":"9710fa826f31b70d38d3ce2fbc5577b8","responseTime":11,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e8c40e60-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1N30.9xnUaQ0vF0cwIN-Qvd8-WGEyerhMg8311SUTI4Ri2mA","level":"info","message":"auth send jwt","requestID":"d2ae775da1f4c60cdb5cbb88c4805fc8"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"d2ae775da1f4c60cdb5cbb88c4805fc8","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":24.83242,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2ae775da1f4c60cdb5cbb88c4805fc8"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8c40e60-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841856,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1Nn0.11nDZy2UC4fxmzBMR7hE8Y9rlckSP45qe1FAS9lHwNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e8c40e60-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707532,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d2ae775da1f4c60cdb5cbb88c4805fc8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841857,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1N30.9xnUaQ0vF0cwIN-Qvd8-WGEyerhMg8311SUTI4Ri2mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d2ae775da1f4c60cdb5cbb88c4805fc8","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:14.357809553Z"}]},"request_id":"81fa9159-0a3f-4541-ad70-e4bc68c7bfe0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.1286786} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d2ae775da1f4c60cdb5cbb88c4805fc8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"fc629a51-ef64-4ee6-9438-c6d1b9fc3b3f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.1296692} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea747ac0-91d9-4fec-b22a-f69141920262","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.1300218} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e8c40e60-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2ae775da1f4c60cdb5cbb88c4805fc8"} gateway-1 | {"time_local":"28/Apr/2025:12:04:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/db48344c-b53e-49f6-aa08-f95db25282a1? 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":"d2ae775da1f4c60cdb5cbb88c4805fc8"} device-1 | {"level":"info","message":"GET /devices/db48344c-b53e-49f6-aa08-f95db25282a1? 200 11ms","method":"GET","requestID":"d2ae775da1f4c60cdb5cbb88c4805fc8","responseTime":11,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e8c40e60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e8c40e60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b'","requestID":"e8c40e60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b'","requestID":"e8c40e60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e8c40e60-2428-11f0-a0e6-516e7b85a777"} 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":"e8c40e60-2428-11f0-a0e6-516e7b85a777","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":"e8c40e60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","device":"db48344c-b53e-49f6-aa08-f95db25282a1","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/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"208aa8b7d3d6b1d0a077f88d14aba05e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8d8cee0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14dd0995-ddda-45f1-9f28-30412cc1f15d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.234769} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.643171,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8d8cee0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e8d8cee0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8d8cee0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/409025a8-b51c-4d93-a7dd-ca46597d4020/signaling 200 36ms","method":"POST","requestID":"e8d8cee0-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8de9b40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"device":"db48344c-b53e-49f6-aa08-f95db25282a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"db48344c-b53e-49f6-aa08-f95db25282a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30abe08a-994e-4617-8387-2809be4fae66","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841857.2726967} device-1 | {"content":{"sdp":"v=0\r\no=- 8203414045010925232 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:WGly\r\na=ice-pwd:ZVe/tUuxGK7btvnXX31pr9m9\r\na=ice-options:trickle\r\na=fingerprint:sha-256 DF:4F:F2:E5:91:63:C7:79:9B:BD:90:F4:A8:53:8D:20:5A:79:FC:C8:73:1A:E2:FE:F5:00:44:BB:C2:02:06:9A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"db48344c-b53e-49f6-aa08-f95db25282a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.780806,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8de9b40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e8de9b40-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8de9b40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/db48344c-b53e-49f6-aa08-f95db25282a1/signaling 200 10ms","method":"POST","requestID":"e8de9b40-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1/signaling"} device-1 | {"device":"db48344c-b53e-49f6-aa08-f95db25282a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"409025a8-b51c-4d93-a7dd-ca46597d4020","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":"53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"409025a8-b51c-4d93-a7dd-ca46597d4020","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":"409025a8-b51c-4d93-a7dd-ca46597d4020","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":"409025a8-b51c-4d93-a7dd-ca46597d4020","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":"409025a8-b51c-4d93-a7dd-ca46597d4020","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/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6eadca296e1c1d4d1f749a47443fdeb6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6eadca296e1c1d4d1f749a47443fdeb6","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/409025a8-b51c-4d93-a7dd-ca46597d4020"},{"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/db48344c-b53e-49f6-aa08-f95db25282a1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b"}}},"level":"info","message":"received a callback","requestID":"6eadca296e1c1d4d1f749a47443fdeb6"} device-1 | {"content":{"candidate":"candidate:1151239383 1 udp 2113937151 207fd337-8901-4560-85f4-d015f459e585.local 59351 typ host generation 0 ufrag WGly network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"db48344c-b53e-49f6-aa08-f95db25282a1","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":"6eadca296e1c1d4d1f749a47443fdeb6","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"db48344c-b53e-49f6-aa08-f95db25282a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} gateway-1 | {"time_local":"28/Apr/2025:12:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"6eadca296e1c1d4d1f749a47443fdeb6"} device-1 | {"device":"409025a8-b51c-4d93-a7dd-ca46597d4020","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":"db48344c-b53e-49f6-aa08-f95db25282a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"409025a8-b51c-4d93-a7dd-ca46597d4020","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":"53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","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/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3dbd79d4c442384ccf1553323b9d81cb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3dbd79d4c442384ccf1553323b9d81cb","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/409025a8-b51c-4d93-a7dd-ca46597d4020"},{"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/db48344c-b53e-49f6-aa08-f95db25282a1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b"}}},"level":"info","message":"received a callback","requestID":"3dbd79d4c442384ccf1553323b9d81cb"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ea143510-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4c2c4be-ed3f-4f4b-b55c-e8ffc5b21814","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.301499} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.237846,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ea143510-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","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":"ea143510-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ea143510-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b 200 32ms","method":"GET","requestID":"ea143510-2428-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"3dbd79d4c442384ccf1553323b9d81cb","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"3dbd79d4c442384ccf1553323b9d81cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea1b6100-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd52fa4b-7677-4d4e-ac88-7af03f8fe0e7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.348418} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.260889,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ea1b6100-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ea1b6100-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea1b6100-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1OX0.SW7uqGQeSKsSyyFpwHEnfLp01FX_GaCUs2rxICHFkfE","level":"info","message":"auth send jwt","requestID":"daeeedd6ea538a52f7f2655e4c0efadc"} device-1 | {"level":"info","message":"POST /devices/409025a8-b51c-4d93-a7dd-ca46597d4020/signaling 200 8ms","method":"POST","requestID":"ea1b6100-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"daeeedd6ea538a52f7f2655e4c0efadc","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9b782f08-566f-432e-854b-bf44e2a3eb92","requestID":"daeeedd6ea538a52f7f2655e4c0efadc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea209120-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.178655,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"daeeedd6ea538a52f7f2655e4c0efadc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841859,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1OX0.SW7uqGQeSKsSyyFpwHEnfLp01FX_GaCUs2rxICHFkfE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"daeeedd6ea538a52f7f2655e4c0efadc","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"158c3a0d-d730-404e-88a8-102a0b62473d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.3838913} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.472913,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ea209120-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ea209120-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea209120-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/db48344c-b53e-49f6-aa08-f95db25282a1/signaling 200 10ms","method":"POST","requestID":"ea209120-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9b782f08-566f-432e-854b-bf44e2a3eb92","requestID":"daeeedd6ea538a52f7f2655e4c0efadc"} experiment-1 | {"level":"info","message":"GET /experiments/9b782f08-566f-432e-854b-bf44e2a3eb92 200 11ms","method":"GET","requestID":"daeeedd6ea538a52f7f2655e4c0efadc","responseTime":11,"status":200,"url":"/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"} gateway-1 | {"time_local":"28/Apr/2025:12:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9b782f08-566f-432e-854b-bf44e2a3eb92 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":"daeeedd6ea538a52f7f2655e4c0efadc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1OX0.SW7uqGQeSKsSyyFpwHEnfLp01FX_GaCUs2rxICHFkfE","level":"info","message":"auth send jwt","requestID":"cf55f0eb090c08d21d080e42e44182a9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf55f0eb090c08d21d080e42e44182a9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9b782f08-566f-432e-854b-bf44e2a3eb92","requestID":"cf55f0eb090c08d21d080e42e44182a9"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.694174,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cf55f0eb090c08d21d080e42e44182a9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841859,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1OX0.SW7uqGQeSKsSyyFpwHEnfLp01FX_GaCUs2rxICHFkfE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cf55f0eb090c08d21d080e42e44182a9","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Attempting to finish experiment","requestID":"cf55f0eb090c08d21d080e42e44182a9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ea241390-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.723091,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ea241390-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841859,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1OX0.SW7uqGQeSKsSyyFpwHEnfLp01FX_GaCUs2rxICHFkfE"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"ea241390-2428-11f0-a0e6-516e7b85a777","responseTime":23,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","device":"db48344c-b53e-49f6-aa08-f95db25282a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"409025a8-b51c-4d93-a7dd-ca46597d4020","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":"409025a8-b51c-4d93-a7dd-ca46597d4020","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":"409025a8-b51c-4d93-a7dd-ca46597d4020","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/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e473ffe-82a5-4e7c-9741-56a958bccbfc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.436366} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F53b15a69-f7b7-4fb5-afba-5eb2d6efe79b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F53b15a69-f7b7-4fb5-afba-5eb2d6efe79b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"98594619-fe0b-4cb1-a527-830c69e39efb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.436514} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"ea241390-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5843573b9b4f3d4d8d7e3fe34a27873f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5843573b9b4f3d4d8d7e3fe34a27873f","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/409025a8-b51c-4d93-a7dd-ca46597d4020"},{"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/db48344c-b53e-49f6-aa08-f95db25282a1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b"}}},"level":"info","message":"received a callback","requestID":"5843573b9b4f3d4d8d7e3fe34a27873f"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a1910ac228de34319a43e9b2457e1fff","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a1910ac228de34319a43e9b2457e1fff","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ea241390-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b 204 41ms","method":"DELETE","requestID":"ea241390-2428-11f0-a0e6-516e7b85a777","responseTime":41,"status":204,"url":"/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b"} 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/409025a8-b51c-4d93-a7dd-ca46597d4020"},{"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/db48344c-b53e-49f6-aa08-f95db25282a1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/53b15a69-f7b7-4fb5-afba-5eb2d6efe79b"}}},"level":"info","message":"received a callback","requestID":"a1910ac228de34319a43e9b2457e1fff"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"},"level":"info","message":"Successfully finished experiment","requestID":"cf55f0eb090c08d21d080e42e44182a9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea302180-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F409025a8-b51c-4d93-a7dd-ca46597d4020","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a93cce2-c847-4139-9ec5-77473433dbef","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.4845357} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.260567,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ea302180-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ea302180-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea302180-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/409025a8-b51c-4d93-a7dd-ca46597d4020/signaling 200 8ms","method":"POST","requestID":"ea302180-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/409025a8-b51c-4d93-a7dd-ca46597d4020/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea31a820-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb48344c-b53e-49f6-aa08-f95db25282a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27fae968-46d0-4339-acc3-8173a870724b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.4937809} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.272774,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ea31a820-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ea31a820-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b782f08-566f-432e-854b-bf44e2a3eb92': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b782f08-566f-432e-854b-bf44e2a3eb92","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"5cd2065c-1241-4261-8280-ccf74d56c534","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.4952924} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea31a820-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/db48344c-b53e-49f6-aa08-f95db25282a1/signaling 200 33ms","method":"POST","requestID":"ea31a820-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/db48344c-b53e-49f6-aa08-f95db25282a1/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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56514145-1c93-45c5-97b2-3ed47337de22","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.4957008} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"cf55f0eb090c08d21d080e42e44182a9","responseTime":42,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9b782f08-566f-432e-854b-bf44e2a3eb92","requestID":"cf55f0eb090c08d21d080e42e44182a9"} gateway-1 | {"time_local":"28/Apr/2025:12:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9b782f08-566f-432e-854b-bf44e2a3eb92 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.236","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf55f0eb090c08d21d080e42e44182a9"} gateway-1 | {"time_local":"28/Apr/2025:12:04:19 +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.180","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"7956c330ed93d3348d604bcb96e5ab82"} experiment-1 | {"level":"info","message":"DELETE /experiments/9b782f08-566f-432e-854b-bf44e2a3eb92 204 235ms","method":"DELETE","requestID":"cf55f0eb090c08d21d080e42e44182a9","responseTime":235,"status":204,"url":"/experiments/9b782f08-566f-432e-854b-bf44e2a3eb92"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/409025a8-b51c-4d93-a7dd-ca46597d4020' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"5843573b9b4f3d4d8d7e3fe34a27873f","responseTime":190,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"a1910ac228de34319a43e9b2457e1fff","responseTime":189,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1OX0.SW7uqGQeSKsSyyFpwHEnfLp01FX_GaCUs2rxICHFkfE","level":"info","message":"auth send jwt","requestID":"be61c13f9b88c3f12fb6e04df1228405"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"be61c13f9b88c3f12fb6e04df1228405","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"5843573b9b4f3d4d8d7e3fe34a27873f"} gateway-1 | {"time_local":"28/Apr/2025:12:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"a1910ac228de34319a43e9b2457e1fff"} gateway-1 | {"time_local":"28/Apr/2025:12:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2782","request_time":"2.847","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7dc6fc88a7cefbb935dc1e0ddbf71233"} device-1 | {"level":"info","message":"postDevices called","requestID":"be61c13f9b88c3f12fb6e04df1228405"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.844699,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:19Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/db48344c-b53e-49f6-aa08-f95db25282a1' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"be61c13f9b88c3f12fb6e04df1228405","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841859,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1OX0.SW7uqGQeSKsSyyFpwHEnfLp01FX_GaCUs2rxICHFkfE"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"be61c13f9b88c3f12fb6e04df1228405","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3c9beef8-0c41-433a-9e4b-364f7b91cbc7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.6800332} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"be61c13f9b88c3f12fb6e04df1228405","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"491a21f9-f2c9-48b8-92b2-9bbba266eaa1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.6849277} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"be61c13f9b88c3f12fb6e04df1228405","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"80df9ce8-6fef-492e-be35-41c10ea9b47b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.7200692} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"383d0f30-0089-4fb0-9fd6-30b882721a8a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.7202404} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"be61c13f9b88c3f12fb6e04df1228405","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.720047713Z"}]},"request_id":"5441aaa0-c68a-4643-9762-9147f184a372","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.724212} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"be61c13f9b88c3f12fb6e04df1228405","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"be61c13f9b88c3f12fb6e04df1228405"} gateway-1 | {"time_local":"28/Apr/2025:12:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be61c13f9b88c3f12fb6e04df1228405"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"be61c13f9b88c3f12fb6e04df1228405","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1OX0.SW7uqGQeSKsSyyFpwHEnfLp01FX_GaCUs2rxICHFkfE","level":"info","message":"auth send jwt","requestID":"95a4165d13529f52d7a7fb40157d7186"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"95a4165d13529f52d7a7fb40157d7186","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"95a4165d13529f52d7a7fb40157d7186"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.009878,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"95a4165d13529f52d7a7fb40157d7186","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841859,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg1OX0.SW7uqGQeSKsSyyFpwHEnfLp01FX_GaCUs2rxICHFkfE"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"95a4165d13529f52d7a7fb40157d7186","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bd824160-b2da-4a40-8e1e-7c7de33c52c1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.7780848} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"95a4165d13529f52d7a7fb40157d7186","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64f1e810-6948-478a-bace-147cfcd2bd1e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.809088} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"95a4165d13529f52d7a7fb40157d7186","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"6d476fd7-93b9-4782-b044-3f64fb2151f0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.8178115} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66b15b7c-204d-4b61-94cf-036eb0bc728d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.8180666} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"95a4165d13529f52d7a7fb40157d7186","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.817779451Z"}]},"request_id":"565a4242-1d27-4f1c-b88a-93ab2d1ab73b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841859.8244739} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"95a4165d13529f52d7a7fb40157d7186","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"95a4165d13529f52d7a7fb40157d7186"} gateway-1 | {"time_local":"28/Apr/2025:12:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95a4165d13529f52d7a7fb40157d7186"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"95a4165d13529f52d7a7fb40157d7186","responseTime":97,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2MH0.NTtvrEi6OqUpvK5xfyjI404TGxgD8BQQs7w7-SqlGaw","level":"info","message":"auth send jwt","requestID":"2cc7bccc13ae7ac873db2aca235551c5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2cc7bccc13ae7ac873db2aca235551c5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2cc7bccc13ae7ac873db2aca235551c5"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645689,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"2cc7bccc13ae7ac873db2aca235551c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841860,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2MH0.NTtvrEi6OqUpvK5xfyjI404TGxgD8BQQs7w7-SqlGaw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2cc7bccc13ae7ac873db2aca235551c5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.720047713Z"}]},"request_id":"890cd7ff-336e-42ef-ab1f-39da8c55b508","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841860.789101} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2cc7bccc13ae7ac873db2aca235551c5","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac5f54a7-801d-4321-b772-0038d209b61f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841860.7962956} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"2cc7bccc13ae7ac873db2aca235551c5","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.720047713Z"}]},"request_id":"a8548054-eff8-49d2-90af-3a18e8afa11b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841860.8323784} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2cc7bccc13ae7ac873db2aca235551c5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2cc7bccc13ae7ac873db2aca235551c5"} gateway-1 | {"time_local":"28/Apr/2025:12:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/86c451d0-02c3-4416-9b6c-962cb929523c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2cc7bccc13ae7ac873db2aca235551c5"} device-1 | {"level":"info","message":"PATCH /devices/86c451d0-02c3-4416-9b6c-962cb929523c 200 53ms","method":"PATCH","requestID":"2cc7bccc13ae7ac873db2aca235551c5","responseTime":53,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2MH0.NTtvrEi6OqUpvK5xfyjI404TGxgD8BQQs7w7-SqlGaw","level":"info","message":"auth send jwt","requestID":"5dcc0e80e5079017731c7121d15a0aa6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5dcc0e80e5079017731c7121d15a0aa6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5dcc0e80e5079017731c7121d15a0aa6"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749026,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5dcc0e80e5079017731c7121d15a0aa6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841860,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2MH0.NTtvrEi6OqUpvK5xfyjI404TGxgD8BQQs7w7-SqlGaw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5dcc0e80e5079017731c7121d15a0aa6","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5dcc0e80e5079017731c7121d15a0aa6"} device-1 | {"level":"info","message":"POST /devices/86c451d0-02c3-4416-9b6c-962cb929523c/websocket 200 38ms","method":"POST","requestID":"5dcc0e80e5079017731c7121d15a0aa6","responseTime":38,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/86c451d0-02c3-4416-9b6c-962cb929523c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5dcc0e80e5079017731c7121d15a0aa6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"74c270b975a328842a4565694b2a293d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"74c270b975a328842a4565694b2a293d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/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":"74c270b975a328842a4565694b2a293d"} device-1 | {"level":"info","message":"OPTIONS /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/websocket 200 0ms","method":"OPTIONS","requestID":"74c270b975a328842a4565694b2a293d","responseTime":0,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f7bf4e41512286e1b89f2febf0c5fd3b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec","level":"info","message":"auth send jwt","requestID":"f7bf4e41512286e1b89f2febf0c5fd3b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f7bf4e41512286e1b89f2febf0c5fd3b","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.581453,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f7bf4e41512286e1b89f2febf0c5fd3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f7bf4e41512286e1b89f2febf0c5fd3b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f7bf4e41512286e1b89f2febf0c5fd3b"} gateway-1 | {"time_local":"28/Apr/2025:12:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f7bf4e41512286e1b89f2febf0c5fd3b"} device-1 | {"level":"info","message":"POST /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/websocket 200 19ms","method":"POST","requestID":"f7bf4e41512286e1b89f2febf0c5fd3b","responseTime":19,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec","level":"info","message":"auth send jwt","requestID":"d8beb43e4fce8f9b24ce988bac634dc2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8beb43e4fce8f9b24ce988bac634dc2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d8beb43e4fce8f9b24ce988bac634dc2"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.903997,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d8beb43e4fce8f9b24ce988bac634dc2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d8beb43e4fce8f9b24ce988bac634dc2","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.720047713Z"}]},"request_id":"25751ce9-6abf-4746-a2ec-883104426bae","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.216887} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d8beb43e4fce8f9b24ce988bac634dc2","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d8beb43e4fce8f9b24ce988bac634dc2"} gateway-1 | {"time_local":"28/Apr/2025:12:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86c451d0-02c3-4416-9b6c-962cb929523c? 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":"d8beb43e4fce8f9b24ce988bac634dc2"} device-1 | {"level":"info","message":"GET /devices/86c451d0-02c3-4416-9b6c-962cb929523c? 200 34ms","method":"GET","requestID":"d8beb43e4fce8f9b24ce988bac634dc2","responseTime":34,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec","level":"info","message":"auth send jwt","requestID":"21d08fe2f6d09e4f2274ad5b8004e583"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"21d08fe2f6d09e4f2274ad5b8004e583","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"21d08fe2f6d09e4f2274ad5b8004e583"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645943,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"21d08fe2f6d09e4f2274ad5b8004e583","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"21d08fe2f6d09e4f2274ad5b8004e583","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.817779451Z"}]},"request_id":"ef02907d-1700-42ac-be11-9e64b3e0e17e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.2628639} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"21d08fe2f6d09e4f2274ad5b8004e583","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"21d08fe2f6d09e4f2274ad5b8004e583"} gateway-1 | {"time_local":"28/Apr/2025:12:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06? 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":"21d08fe2f6d09e4f2274ad5b8004e583"} device-1 | {"level":"info","message":"GET /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06? 200 39ms","method":"GET","requestID":"21d08fe2f6d09e4f2274ad5b8004e583","responseTime":39,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec","level":"info","message":"auth send jwt","requestID":"84dfea6705f6f3961e84419f6323b432"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"84dfea6705f6f3961e84419f6323b432","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"84dfea6705f6f3961e84419f6323b432"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.441708,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"84dfea6705f6f3961e84419f6323b432","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"84dfea6705f6f3961e84419f6323b432","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Attempting to run experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Attempting to book experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Successfully booked experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ebe74760-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ebe76e70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960501,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ebe74760-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ebe74760-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774035,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ebe76e70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ebe76e70-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.720047713Z"}]},"request_id":"ba5ca2a8-4423-4865-96fb-c1d383631adb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.3660223} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ebe74760-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.817779451Z"}]},"request_id":"8fe9eed7-8766-485a-abda-2157b0abbe6f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.3667197} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ebe76e70-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ebe74760-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/86c451d0-02c3-4416-9b6c-962cb929523c? 200 13ms","method":"GET","requestID":"ebe74760-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ebe76e70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06? 200 12ms","method":"GET","requestID":"ebe76e70-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Setting up experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Successfully set up experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ebf63b80-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ebf689a0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Successfully running experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ebf6b0b0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920534,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ebf63b80-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ebf63b80-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.827151,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ebf689a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ebf689a0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.921663,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10cb873d-593a-4cb0-8da9-135bfcb5ed82","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.4655514} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ebf6b0b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ebf6b0b0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ebf6b0b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/86c451d0-02c3-4416-9b6c-962cb929523c/signaling 200 11ms","method":"POST","requestID":"ebf6b0b0-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c/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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.720047713Z"}]},"request_id":"da5e72fc-abf3-4c71-8c06-d869a1663f0f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.4698312} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ebf63b80-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.817779451Z"}]},"request_id":"c412eaa7-15ee-455e-bf35-93d585e4b1df","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.4710848} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ebf689a0-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ebfc5600-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ebf63b80-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/86c451d0-02c3-4416-9b6c-962cb929523c? 200 44ms","method":"GET","requestID":"ebf63b80-2428-11f0-a0e6-516e7b85a777","responseTime":44,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ebf689a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eded460a-b517-4268-907d-8c2ae73b37ae","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.5009098} device-1 | {"level":"info","message":"GET /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06? 200 43ms","method":"GET","requestID":"ebf689a0-2428-11f0-a0e6-516e7b85a777","responseTime":43,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06?"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.803908,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b96161b2-00d0-4fe3-b775-fea4ae1a502a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.5017767} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa515c147-0c9e-4b6e-ba1c-fa4a6650beb4#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa515c147-0c9e-4b6e-ba1c-fa4a6650beb4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"3c136277-22d9-4e6d-aed5-00ab5e0f9070","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.5020585} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ebfc5600-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","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":"ebfd6770-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ebfc5600-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"84dfea6705f6f3961e84419f6323b432","responseTime":42,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ebfc5600-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/signaling 200 9ms","method":"POST","requestID":"ebfc5600-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8dc83b34-2e53-4cb8-8319-e63a8c2e0c10","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.5091915} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.574345,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ebfd6770-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ebfd6770-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"level":"info","message":"POST /experiments? 201 242ms","method":"POST","requestID":"84dfea6705f6f3961e84419f6323b432","responseTime":242,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84dfea6705f6f3961e84419f6323b432"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ebfd6770-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/86c451d0-02c3-4416-9b6c-962cb929523c/signaling 200 10ms","method":"POST","requestID":"ebfd6770-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ebff6340-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec","level":"info","message":"auth send jwt","requestID":"a809ac0c1ced77367ea194e32ebcd9be"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a809ac0c1ced77367ea194e32ebcd9be","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a809ac0c1ced77367ea194e32ebcd9be"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656903,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a809ac0c1ced77367ea194e32ebcd9be","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a809ac0c1ced77367ea194e32ebcd9be","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5459a4c9-d35e-445f-8d15-c116d2ebc13a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.5203736} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.634922,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ebff6340-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","object_type":"device","rebac_allow":false,"scope_allow":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":"ebff6340-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ebff6340-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/signaling 200 32ms","method":"POST","requestID":"ebff6340-2428-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.720047713Z"}]},"request_id":"f64473c1-d50b-4f0d-a0fa-5adb36068828","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.5485492} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Building connection plan","requestID":"84dfea6705f6f3961e84419f6323b432"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a809ac0c1ced77367ea194e32ebcd9be","responseTime":3,"status":200,"url":"/relations/query"} 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":"a624482d-2832-4ffe-8b3b-74ea1bb34afb"},{"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":"6aad2284-b5a5-47b9-a6eb-9674e1227432"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"97173208-7693-4f99-9e41-f203cfc4f26a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"84dfea6705f6f3961e84419f6323b432"} 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/86c451d0-02c3-4416-9b6c-962cb929523c"},{"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/483fa8ce-dcca-4aba-be99-38a47a2d2c06"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"84dfea6705f6f3961e84419f6323b432"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a809ac0c1ced77367ea194e32ebcd9be"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} gateway-1 | {"time_local":"28/Apr/2025:12:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86c451d0-02c3-4416-9b6c-962cb929523c? 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":"a809ac0c1ced77367ea194e32ebcd9be"} device-1 | {"level":"info","message":"GET /devices/86c451d0-02c3-4416-9b6c-962cb929523c? 200 37ms","method":"GET","requestID":"a809ac0c1ced77367ea194e32ebcd9be","responseTime":37,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c?"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":2.836425,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec","level":"info","message":"auth send jwt","requestID":"a8001ae64e8c0186fc1b27feb9883efd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a8001ae64e8c0186fc1b27feb9883efd","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a8001ae64e8c0186fc1b27feb9883efd"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.297157,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a8001ae64e8c0186fc1b27feb9883efd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841862,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Mn0.U1MQOzcBEvlETV5XRPQB5wntEvU8g-6JfYie-zChxec"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a8001ae64e8c0186fc1b27feb9883efd","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"675f5913-c09c-4b21-b304-c2e1f2d3ce9f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.5685418} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53e852c7-07e4-419e-abf1-4b4cc8985ac9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.5929694} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:19.817779451Z"}]},"request_id":"ae67a5ab-5b39-4d15-b66f-850e66c82400","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.5940957} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"a8001ae64e8c0186fc1b27feb9883efd","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a8001ae64e8c0186fc1b27feb9883efd"} gateway-1 | {"time_local":"28/Apr/2025:12:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06? 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":"a8001ae64e8c0186fc1b27feb9883efd"} device-1 | {"level":"info","message":"GET /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06? 200 41ms","method":"GET","requestID":"a8001ae64e8c0186fc1b27feb9883efd","responseTime":41,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc'","requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc'","requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 91ms","method":"POST","requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777","responseTime":91,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"ec04ba70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc","device":"483fa8ce-dcca-4aba-be99-38a47a2d2c06","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/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"84dfea6705f6f3961e84419f6323b432"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ec19f020-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"928be962-3a9a-4643-84fc-bb71b7e0e41b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.6947799} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.025861,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ec19f020-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ec19f020-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ec19f020-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/86c451d0-02c3-4416-9b6c-962cb929523c/signaling 200 9ms","method":"POST","requestID":"ec19f020-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ec1b9dd0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"device":"483fa8ce-dcca-4aba-be99-38a47a2d2c06","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"483fa8ce-dcca-4aba-be99-38a47a2d2c06","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b40f39f3-2a80-41b5-adeb-c29796d7f34b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841862.705883} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.797841,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ec1b9dd0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ec1b9dd0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 7059465094804269542 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:O7SW\r\na=ice-pwd:5ynaH6H/7ycIKszbbBT4E4jd\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5F:98:D0:F2:29:CF:B5:11:EF:F7:34:AB:1F:3B:90:29:3A:17:DD:A5:69:2E:56:7A:71:1D:32:39:AC:FA:AB:11\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"483fa8ce-dcca-4aba-be99-38a47a2d2c06","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ec1b9dd0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/signaling 200 11ms","method":"POST","requestID":"ec1b9dd0-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/signaling"} device-1 | {"device":"483fa8ce-dcca-4aba-be99-38a47a2d2c06","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"86c451d0-02c3-4416-9b6c-962cb929523c","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":"f6659de9-f886-4177-b768-ebef0736adbc","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"86c451d0-02c3-4416-9b6c-962cb929523c","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":"86c451d0-02c3-4416-9b6c-962cb929523c","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":"86c451d0-02c3-4416-9b6c-962cb929523c","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":"86c451d0-02c3-4416-9b6c-962cb929523c","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/f6659de9-f886-4177-b768-ebef0736adbc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f6659de9-f886-4177-b768-ebef0736adbc","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"44ce8fda28debbc6db3648882ad315f7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"44ce8fda28debbc6db3648882ad315f7","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/86c451d0-02c3-4416-9b6c-962cb929523c"},{"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/483fa8ce-dcca-4aba-be99-38a47a2d2c06"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc"}}},"level":"info","message":"received a callback","requestID":"44ce8fda28debbc6db3648882ad315f7"} device-1 | {"content":{"candidate":"candidate:627383371 1 udp 2113937151 1b508b31-16ed-4f00-bcd8-e5f99129ae9c.local 57024 typ host generation 0 ufrag O7SW network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"483fa8ce-dcca-4aba-be99-38a47a2d2c06","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"483fa8ce-dcca-4aba-be99-38a47a2d2c06","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"44ce8fda28debbc6db3648882ad315f7","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"44ce8fda28debbc6db3648882ad315f7"} device-1 | {"data":{"peerconnection":"f6659de9-f886-4177-b768-ebef0736adbc","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"86c451d0-02c3-4416-9b6c-962cb929523c","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":"483fa8ce-dcca-4aba-be99-38a47a2d2c06","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"f6659de9-f886-4177-b768-ebef0736adbc","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"86c451d0-02c3-4416-9b6c-962cb929523c","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 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f6659de9-f886-4177-b768-ebef0736adbc","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"797db292357e4725d7e7bd528803162a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"797db292357e4725d7e7bd528803162a","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/86c451d0-02c3-4416-9b6c-962cb929523c"},{"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/483fa8ce-dcca-4aba-be99-38a47a2d2c06"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc"}}},"level":"info","message":"received a callback","requestID":"797db292357e4725d7e7bd528803162a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ed552f40-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6659de9-f886-4177-b768-ebef0736adbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"51ac5779-fd7f-4745-9a8b-1841c70a3859","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841864.7605586} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.237911,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed552f40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc","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":"ed552f40-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ed552f40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/f6659de9-f886-4177-b768-ebef0736adbc 200 8ms","method":"GET","requestID":"ed552f40-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 74ms","method":"POST","requestID":"797db292357e4725d7e7bd528803162a","responseTime":74,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.076","http_referrer":"","http_user_agent":"node-fetch","requestID":"797db292357e4725d7e7bd528803162a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed5c5b30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fb97d86-ce9e-458e-8844-f336d022ad70","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841864.806758} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.406937,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed5c5b30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ed5c5b30-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed5c5b30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/86c451d0-02c3-4416-9b6c-962cb929523c/signaling 200 7ms","method":"POST","requestID":"ed5c5b30-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed5dbac0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03cfca81-ec95-438f-8b45-f9ae86095ab7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841864.816137} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.174024,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed5dbac0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ed5dbac0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed5dbac0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/signaling 200 7ms","method":"POST","requestID":"ed5dbac0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2NH0.MxRTUBjy1KQRmoE72Emms7l_zr4KSKIaOpRBqO9qixM","level":"info","message":"auth send jwt","requestID":"0debdc7d32425a298003f536fdf72475"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"0debdc7d32425a298003f536fdf72475","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4","requestID":"0debdc7d32425a298003f536fdf72475"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.696505,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0debdc7d32425a298003f536fdf72475","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841864,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2NH0.MxRTUBjy1KQRmoE72Emms7l_zr4KSKIaOpRBqO9qixM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0debdc7d32425a298003f536fdf72475","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4","requestID":"0debdc7d32425a298003f536fdf72475"} gateway-1 | {"time_local":"28/Apr/2025:12:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0debdc7d32425a298003f536fdf72475"} experiment-1 | {"level":"info","message":"GET /experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4 200 9ms","method":"GET","requestID":"0debdc7d32425a298003f536fdf72475","responseTime":9,"status":200,"url":"/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2NH0.MxRTUBjy1KQRmoE72Emms7l_zr4KSKIaOpRBqO9qixM","level":"info","message":"auth send jwt","requestID":"7f2aa7be025606cf09a5309b26c73d3e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7f2aa7be025606cf09a5309b26c73d3e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4","requestID":"7f2aa7be025606cf09a5309b26c73d3e"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.916005,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7f2aa7be025606cf09a5309b26c73d3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841864,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2NH0.MxRTUBjy1KQRmoE72Emms7l_zr4KSKIaOpRBqO9qixM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7f2aa7be025606cf09a5309b26c73d3e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Attempting to finish experiment","requestID":"7f2aa7be025606cf09a5309b26c73d3e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ed66e280-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.718274,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed66e280-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841864,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2NH0.MxRTUBjy1KQRmoE72Emms7l_zr4KSKIaOpRBqO9qixM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ed66e280-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc","device":"483fa8ce-dcca-4aba-be99-38a47a2d2c06","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"86c451d0-02c3-4416-9b6c-962cb929523c","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":"86c451d0-02c3-4416-9b6c-962cb929523c","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":"86c451d0-02c3-4416-9b6c-962cb929523c","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/f6659de9-f886-4177-b768-ebef0736adbc' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f6659de9-f886-4177-b768-ebef0736adbc","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6659de9-f886-4177-b768-ebef0736adbc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6659de9-f886-4177-b768-ebef0736adbc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"47f5d8c6-4984-49b9-b211-aae067e5ef10","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841864.9199634} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b1324e632eb8af229368b3d2569e40d4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b1324e632eb8af229368b3d2569e40d4","responseTime":25,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c"},{"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/483fa8ce-dcca-4aba-be99-38a47a2d2c06"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc"}}},"level":"info","message":"received a callback","requestID":"b1324e632eb8af229368b3d2569e40d4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ed66e280-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6cbe9759d8cf75e114351badf7ff9db8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/f6659de9-f886-4177-b768-ebef0736adbc 204 82ms","method":"DELETE","requestID":"ed66e280-2428-11f0-a0e6-516e7b85a777","responseTime":82,"status":204,"url":"/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6cbe9759d8cf75e114351badf7ff9db8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c"},{"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/483fa8ce-dcca-4aba-be99-38a47a2d2c06"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f6659de9-f886-4177-b768-ebef0736adbc"}}},"level":"info","message":"received a callback","requestID":"6cbe9759d8cf75e114351badf7ff9db8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d54e06a-5b6c-494c-b45c-7c1c117c920c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841864.9203517} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"ed66e280-2428-11f0-a0e6-516e7b85a777","responseTime":33,"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/483fa8ce-dcca-4aba-be99-38a47a2d2c06'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"},"level":"info","message":"Successfully finished experiment","requestID":"7f2aa7be025606cf09a5309b26c73d3e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed7ab8a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:25Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c451d0-02c3-4416-9b6c-962cb929523c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"757a0024-6aa6-40c0-867d-e9ae21b8b134","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.00605} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.542429,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed7ab8a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ed7ab8a0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed7ab8a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/86c451d0-02c3-4416-9b6c-962cb929523c/signaling 200 8ms","method":"POST","requestID":"ed7ab8a0-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/86c451d0-02c3-4416-9b6c-962cb929523c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed7c3f40-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa515c147-0c9e-4b6e-ba1c-fa4a6650beb4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa515c147-0c9e-4b6e-ba1c-fa4a6650beb4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"ff4b94f4-406e-403e-97a3-d56db8d63f80","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.014087} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c4bfffd-1590-4eb2-ae14-1be7ea317234","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.0142426} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"7f2aa7be025606cf09a5309b26c73d3e","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:25Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F483fa8ce-dcca-4aba-be99-38a47a2d2c06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9825f36-9183-411f-a80a-f3e0ab59af8d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.016628} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.599655,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ed7c3f40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06","object_type":"device","rebac_allow":false,"scope_allow":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":"ed7c3f40-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed7c3f40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/signaling 200 33ms","method":"POST","requestID":"ed7c3f40-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4","requestID":"7f2aa7be025606cf09a5309b26c73d3e"} gateway-1 | {"time_local":"28/Apr/2025:12:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.287","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f2aa7be025606cf09a5309b26c73d3e"} gateway-1 | {"time_local":"28/Apr/2025:12:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2579","request_time":"4.269","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c2100e6c108d06b899929e3138731643"} experiment-1 | {"level":"info","message":"DELETE /experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4 204 284ms","method":"DELETE","requestID":"7f2aa7be025606cf09a5309b26c73d3e","responseTime":284,"status":204,"url":"/experiments/a515c147-0c9e-4b6e-ba1c-fa4a6650beb4"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/86c451d0-02c3-4416-9b6c-962cb929523c' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 206ms","method":"POST","requestID":"b1324e632eb8af229368b3d2569e40d4","responseTime":206,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.233","http_referrer":"","http_user_agent":"node-fetch","requestID":"b1324e632eb8af229368b3d2569e40d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2NX0.SM82y2Ukw2N4tmLICuY_acExPb4kz1r4iWcYDafqlCM","level":"info","message":"auth send jwt","requestID":"f369962107b083d2a5d66df93e4f126c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f369962107b083d2a5d66df93e4f126c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f369962107b083d2a5d66df93e4f126c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 197ms","method":"POST","requestID":"6cbe9759d8cf75e114351badf7ff9db8","responseTime":197,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch","requestID":"6cbe9759d8cf75e114351badf7ff9db8"} gateway-1 | {"time_local":"28/Apr/2025:12:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2782","request_time":"2.981","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5b78cff9a34c150de502d50d383d664f"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/483fa8ce-dcca-4aba-be99-38a47a2d2c06' closed"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.020078,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f369962107b083d2a5d66df93e4f126c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841865,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2NX0.SM82y2Ukw2N4tmLICuY_acExPb4kz1r4iWcYDafqlCM"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"f369962107b083d2a5d66df93e4f126c","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6bffba6f-3fa8-4627-80b7-41ebd97f9d09","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.201561} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f369962107b083d2a5d66df93e4f126c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a45badf6-3b24-4103-bef1-01445a50848b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.2072597} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f369962107b083d2a5d66df93e4f126c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"9879d1f0-6a0a-46a4-b1d4-4e1ea16de03f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.2422175} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57ca0593-1a06-4106-89f2-5ddc64129b36","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.2424262} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"f369962107b083d2a5d66df93e4f126c","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.242188028Z"}]},"request_id":"f51e2517-05cd-4a82-8edc-a23d050d6668","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.2467477} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f369962107b083d2a5d66df93e4f126c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f369962107b083d2a5d66df93e4f126c"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.100","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f369962107b083d2a5d66df93e4f126c"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"f369962107b083d2a5d66df93e4f126c","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2NX0.SM82y2Ukw2N4tmLICuY_acExPb4kz1r4iWcYDafqlCM","level":"info","message":"auth send jwt","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.801469,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841865,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2NX0.SM82y2Ukw2N4tmLICuY_acExPb4kz1r4iWcYDafqlCM"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"506d7d53-061c-4d4b-ba9f-8fc85a391109","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.2934065} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ab4306d-151b-44a7-b463-99a270f4ff31","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.297805} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"d18fa954-e603-4990-8b07-e9acbaae10d0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.3311303} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d6d8bf5-057b-4c93-a071-7d82086620f5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.3313036} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.331099824Z"}]},"request_id":"238b60ac-fdea-4582-8961-7c3645907c3f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841865.3367293} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"f23ab0ca90e3ad9cb6b0bb701c18ee90","responseTime":85,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ","level":"info","message":"auth send jwt","requestID":"6d250310f97ca5937350539646d7f24a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6d250310f97ca5937350539646d7f24a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6d250310f97ca5937350539646d7f24a"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789492,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ","level":"info","message":"auth send jwt","requestID":"355f1efbe87720966f7c2c5adcc04697"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6d250310f97ca5937350539646d7f24a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"355f1efbe87720966f7c2c5adcc04697","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6d250310f97ca5937350539646d7f24a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"355f1efbe87720966f7c2c5adcc04697"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917847,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"355f1efbe87720966f7c2c5adcc04697","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"355f1efbe87720966f7c2c5adcc04697","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.331099824Z"}]},"request_id":"e782619b-09e3-4592-8a8b-b9ec2a7a54dc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.3413882} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6d250310f97ca5937350539646d7f24a","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85b9ff54-c045-4f39-9f7c-8d941524d9a9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.3476708} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6d250310f97ca5937350539646d7f24a","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.242188028Z"}]},"request_id":"4e69225d-caf9-4ac2-954a-01b80c250c59","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.3491812} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"355f1efbe87720966f7c2c5adcc04697","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"099de3e3-aa00-4c08-91b8-bd9263a695d7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.3532767} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"355f1efbe87720966f7c2c5adcc04697","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.331099824Z"}]},"request_id":"1d050478-1877-4498-9adc-503baedcbea6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.3928163} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6d250310f97ca5937350539646d7f24a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6d250310f97ca5937350539646d7f24a"} device-1 | {"level":"info","message":"PATCH /devices/cdd146e4-b147-42a3-a00f-e4739e60b272 200 88ms","method":"PATCH","requestID":"6d250310f97ca5937350539646d7f24a","responseTime":88,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272"} gateway-1 | {"time_local":"28/Apr/2025:12:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cdd146e4-b147-42a3-a00f-e4739e60b272 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.092","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6d250310f97ca5937350539646d7f24a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ","level":"info","message":"auth send jwt","requestID":"0c0298e03039b6a4b033a979e8b55204"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0c0298e03039b6a4b033a979e8b55204","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0c0298e03039b6a4b033a979e8b55204"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639468,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0c0298e03039b6a4b033a979e8b55204","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0c0298e03039b6a4b033a979e8b55204","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.242188028Z"}]},"request_id":"2180fc0c-14ba-47c2-9938-5d592a450063","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.402679} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"355f1efbe87720966f7c2c5adcc04697","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"355f1efbe87720966f7c2c5adcc04697"} device-1 | {"level":"info","message":"PATCH /devices/359497ff-542a-4477-8d22-2e4cc4178543 200 68ms","method":"PATCH","requestID":"355f1efbe87720966f7c2c5adcc04697","responseTime":68,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543"} gateway-1 | {"time_local":"28/Apr/2025:12:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/359497ff-542a-4477-8d22-2e4cc4178543 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.098","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"355f1efbe87720966f7c2c5adcc04697"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ","level":"info","message":"auth send jwt","requestID":"bbfb7e47ce65ab89095c97cc08a95ef4"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"bbfb7e47ce65ab89095c97cc08a95ef4","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bbfb7e47ce65ab89095c97cc08a95ef4"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70951,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0c0298e03039b6a4b033a979e8b55204"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bbfb7e47ce65ab89095c97cc08a95ef4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} gateway-1 | {"time_local":"28/Apr/2025:12:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cdd146e4-b147-42a3-a00f-e4739e60b272/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0c0298e03039b6a4b033a979e8b55204"} device-1 | {"level":"info","message":"POST /devices/cdd146e4-b147-42a3-a00f-e4739e60b272/websocket 200 38ms","method":"POST","requestID":"0c0298e03039b6a4b033a979e8b55204","responseTime":38,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272/websocket"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bbfb7e47ce65ab89095c97cc08a95ef4","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bbfb7e47ce65ab89095c97cc08a95ef4"} gateway-1 | {"time_local":"28/Apr/2025:12:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/359497ff-542a-4477-8d22-2e4cc4178543/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"bbfb7e47ce65ab89095c97cc08a95ef4"} device-1 | {"level":"info","message":"POST /devices/359497ff-542a-4477-8d22-2e4cc4178543/websocket 200 12ms","method":"POST","requestID":"bbfb7e47ce65ab89095c97cc08a95ef4","responseTime":12,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ","level":"info","message":"auth send jwt","requestID":"171bad566faa9a0a59c07c5842f509bf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"171bad566faa9a0a59c07c5842f509bf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"171bad566faa9a0a59c07c5842f509bf"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.964358,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"171bad566faa9a0a59c07c5842f509bf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"171bad566faa9a0a59c07c5842f509bf","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.242188028Z"}]},"request_id":"139890d7-6263-4c4c-9a94-aac8770b8f15","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.4861286} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"171bad566faa9a0a59c07c5842f509bf","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"171bad566faa9a0a59c07c5842f509bf"} gateway-1 | {"time_local":"28/Apr/2025:12:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/359497ff-542a-4477-8d22-2e4cc4178543? 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":"171bad566faa9a0a59c07c5842f509bf"} device-1 | {"level":"info","message":"GET /devices/359497ff-542a-4477-8d22-2e4cc4178543? 200 34ms","method":"GET","requestID":"171bad566faa9a0a59c07c5842f509bf","responseTime":34,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ","level":"info","message":"auth send jwt","requestID":"3ded774d88b975c44c4c86a467e32e13"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3ded774d88b975c44c4c86a467e32e13","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3ded774d88b975c44c4c86a467e32e13"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664435,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"3ded774d88b975c44c4c86a467e32e13","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3ded774d88b975c44c4c86a467e32e13","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.331099824Z"}]},"request_id":"5f1c888b-c7b9-4374-ac0f-620c1e3df7a3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.499916} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3ded774d88b975c44c4c86a467e32e13","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3ded774d88b975c44c4c86a467e32e13"} device-1 | {"level":"info","message":"GET /devices/cdd146e4-b147-42a3-a00f-e4739e60b272? 200 10ms","method":"GET","requestID":"3ded774d88b975c44c4c86a467e32e13","responseTime":10,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cdd146e4-b147-42a3-a00f-e4739e60b272? 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":"3ded774d88b975c44c4c86a467e32e13"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ","level":"info","message":"auth send jwt","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"561f53ff3847c3c9fee0a704aadcf9fc","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.626478,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"561f53ff3847c3c9fee0a704aadcf9fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"561f53ff3847c3c9fee0a704aadcf9fc","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Attempting to run experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Attempting to book experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Successfully booked experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ee728620-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ee72ad30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.041191,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ee728620-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ee728620-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70665,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ee72ad30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ee72ad30-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.242188028Z"}]},"request_id":"f256cce3-9d20-49ed-9405-4e9db72e36a9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.6334665} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ee728620-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.331099824Z"}]},"request_id":"0615e8fe-7457-4fbc-99ab-76cf81558d87","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.6342506} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ee72ad30-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ee728620-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/359497ff-542a-4477-8d22-2e4cc4178543? 200 12ms","method":"GET","requestID":"ee728620-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ee72ad30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/cdd146e4-b147-42a3-a00f-e4739e60b272? 200 11ms","method":"GET","requestID":"ee72ad30-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Setting up experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Successfully locked booking for experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Attempting to update booking for experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Successfully updated booking for experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Successfully set up experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ee823d90-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ee8264a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ee828bb0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Successfully running experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923228,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ee823d90-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ee823d90-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.848644,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ee8264a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ee8264a0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a92bb25-799d-4e46-a938-4169e144f414","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.7373488} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.158516,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ee828bb0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ee828bb0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.242188028Z"}]},"request_id":"6c18985d-5923-4d47-b780-7df6a778e7ce","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.7397847} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ee823d90-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ee828bb0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.331099824Z"}]},"request_id":"6f1eefb5-8596-4706-94cb-9ac7e4cc468b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.7423437} device-1 | {"level":"info","message":"POST /devices/359497ff-542a-4477-8d22-2e4cc4178543/signaling 200 12ms","method":"POST","requestID":"ee828bb0-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ee8264a0-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ee887f20-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ee823d90-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb9eea76e-1eae-495a-a86a-5a0cc259a830#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb9eea76e-1eae-495a-a86a-5a0cc259a830","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"800ff1c0-fd2b-4e28-8677-5309c6e0c76f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.7717083} device-1 | {"level":"info","message":"GET /devices/359497ff-542a-4477-8d22-2e4cc4178543? 200 44ms","method":"GET","requestID":"ee823d90-2428-11f0-a0e6-516e7b85a777","responseTime":44,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e07fd24-e17a-4fb1-b92e-42faffcd353b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.7720218} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ee8264a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} device-1 | {"level":"info","message":"GET /devices/cdd146e4-b147-42a3-a00f-e4739e60b272? 200 43ms","method":"GET","requestID":"ee8264a0-2428-11f0-a0e6-516e7b85a777","responseTime":43,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"561f53ff3847c3c9fee0a704aadcf9fc","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ee896980-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c05381a-4011-4adc-89f7-bad3b959aa72","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.7774408} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.944063,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ee887f20-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","rebac_allow":false,"scope_allow":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":"ee887f20-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbc921dc-d873-4a69-ac97-93aa5bde8251","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.7817242} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.019775,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} gateway-1 | {"time_local":"28/Apr/2025:12:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.279","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"level":"info","message":"POST /experiments? 201 252ms","method":"POST","requestID":"561f53ff3847c3c9fee0a704aadcf9fc","responseTime":252,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ee887f20-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ee896980-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","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/cdd146e4-b147-42a3-a00f-e4739e60b272/signaling 200 14ms","method":"POST","requestID":"ee887f20-2428-11f0-a0e6-516e7b85a777","responseTime":14,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ee896980-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ee896980-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ","level":"info","message":"auth send jwt","requestID":"99d09f16512a70434f0167c14ec5df87"} device-1 | {"level":"info","message":"POST /devices/359497ff-542a-4477-8d22-2e4cc4178543/signaling 200 11ms","method":"POST","requestID":"ee896980-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"99d09f16512a70434f0167c14ec5df87","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"99d09f16512a70434f0167c14ec5df87"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ee8b6550-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.596041,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"99d09f16512a70434f0167c14ec5df87","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"99d09f16512a70434f0167c14ec5df87","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2b6defe-5bb7-431d-b06a-7f1224eb529b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.7930317} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.215156,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ee8b6550-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","rebac_allow":false,"scope_allow":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":"ee8b6550-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.242188028Z"}]},"request_id":"b9b1576a-66a7-46c2-9935-1b87379001f7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.8237906} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ee8b6550-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/cdd146e4-b147-42a3-a00f-e4739e60b272/signaling 200 35ms","method":"POST","requestID":"ee8b6550-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"99d09f16512a70434f0167c14ec5df87","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Building connection plan","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} 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":"5de0f608-c1a3-4b03-8359-675973c34365"},{"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":"2fbc492e-f300-48db-b152-5c246329c250"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4eac1bcd-48dd-47da-90c8-64075a209318"}]},"level":"info","message":"Built pairwise service configurations","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} 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/cdd146e4-b147-42a3-a00f-e4739e60b272"},{"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/359497ff-542a-4477-8d22-2e4cc4178543"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ee9131b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"99d09f16512a70434f0167c14ec5df87"} gateway-1 | {"time_local":"28/Apr/2025:12:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/359497ff-542a-4477-8d22-2e4cc4178543? 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":"99d09f16512a70434f0167c14ec5df87"} device-1 | {"level":"info","message":"GET /devices/359497ff-542a-4477-8d22-2e4cc4178543? 200 40ms","method":"GET","requestID":"99d09f16512a70434f0167c14ec5df87","responseTime":40,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543?"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.633004,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ee9131b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ee9131b0-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ","level":"info","message":"auth send jwt","requestID":"90fbfa6cf6b64a488787d366d0b72637"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"90fbfa6cf6b64a488787d366d0b72637","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"90fbfa6cf6b64a488787d366d0b72637"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719533,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"90fbfa6cf6b64a488787d366d0b72637","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841866,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2Nn0.nHCyOXYBURXeRrcvrRQykGCM_UZPoVbb-JC9fKVrdIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"90fbfa6cf6b64a488787d366d0b72637","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"cbc071f5-09b8-407a-82e7-f1fd61fbfdb4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.8665864} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cfbfe228-049c-4f27-95cb-9880cf22b12c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.86743} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:25.331099824Z"}]},"request_id":"24da25dc-c41b-4db3-995d-a812f2e64809","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.8698163} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"ee9131b0-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"90fbfa6cf6b64a488787d366d0b72637","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"90fbfa6cf6b64a488787d366d0b72637"} device-1 | {"level":"info","message":"GET /devices/cdd146e4-b147-42a3-a00f-e4739e60b272? 200 42ms","method":"GET","requestID":"90fbfa6cf6b64a488787d366d0b72637","responseTime":42,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cdd146e4-b147-42a3-a00f-e4739e60b272? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"90fbfa6cf6b64a488787d366d0b72637"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ee9131b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ee9131b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b'","requestID":"ee9131b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b'","requestID":"ee9131b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ee9131b0-2428-11f0-a0e6-516e7b85a777"} 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":"ee9131b0-2428-11f0-a0e6-516e7b85a777","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":"ee9131b0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"561f53ff3847c3c9fee0a704aadcf9fc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eea1fa90-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46aad390-5b2f-4bce-93a2-4d9070666dfe","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.9659433} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.634509,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"eea1fa90-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","object_type":"device","rebac_allow":false,"scope_allow":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":"eea1fa90-2428-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eea1fa90-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/359497ff-542a-4477-8d22-2e4cc4178543/signaling 200 33ms","method":"POST","requestID":"eea1fa90-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eea72ab0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02e2ae50-d837-47cc-b553-c8c7dbb9a0ff","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841866.9754205} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.324906,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"eea72ab0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eea72ab0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eea72ab0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/cdd146e4-b147-42a3-a00f-e4739e60b272/signaling 200 9ms","method":"POST","requestID":"eea72ab0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272/signaling"} device-1 | {"device":"359497ff-542a-4477-8d22-2e4cc4178543","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":"25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"cdd146e4-b147-42a3-a00f-e4739e60b272","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":"25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"cdd146e4-b147-42a3-a00f-e4739e60b272","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":"cdd146e4-b147-42a3-a00f-e4739e60b272","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":"cdd146e4-b147-42a3-a00f-e4739e60b272","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":"cdd146e4-b147-42a3-a00f-e4739e60b272","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/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"60c44d3f958c60831b8ee2cfc5d50062","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"60c44d3f958c60831b8ee2cfc5d50062","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/cdd146e4-b147-42a3-a00f-e4739e60b272"},{"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/359497ff-542a-4477-8d22-2e4cc4178543"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b"}}},"level":"info","message":"received a callback","requestID":"60c44d3f958c60831b8ee2cfc5d50062"} device-1 | {"device":"359497ff-542a-4477-8d22-2e4cc4178543","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":"359497ff-542a-4477-8d22-2e4cc4178543","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":"359497ff-542a-4477-8d22-2e4cc4178543","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 34ms","method":"POST","requestID":"60c44d3f958c60831b8ee2cfc5d50062","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"60c44d3f958c60831b8ee2cfc5d50062"} device-1 | {"device":"cdd146e4-b147-42a3-a00f-e4739e60b272","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 | {"data":{"peerconnection":"25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"359497ff-542a-4477-8d22-2e4cc4178543","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":"cdd146e4-b147-42a3-a00f-e4739e60b272","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":"359497ff-542a-4477-8d22-2e4cc4178543","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":"25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","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/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"32f9ccf0c6aeffc96bb300d6d7403ff9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"32f9ccf0c6aeffc96bb300d6d7403ff9","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/cdd146e4-b147-42a3-a00f-e4739e60b272"},{"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/359497ff-542a-4477-8d22-2e4cc4178543"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b"}}},"level":"info","message":"received a callback","requestID":"32f9ccf0c6aeffc96bb300d6d7403ff9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"efe35430-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"058bcd5a-59d6-48cc-93ef-ddc7abe382eb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.0474772} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.803254,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"efe35430-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","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":"efe35430-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"efe35430-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b 200 31ms","method":"GET","requestID":"efe35430-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"32f9ccf0c6aeffc96bb300d6d7403ff9","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"32f9ccf0c6aeffc96bb300d6d7403ff9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"efea0af0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db690b1b-ff5d-4554-995f-c4326be2cecc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.0910084} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.29969,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"efea0af0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"efea0af0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"efea0af0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/cdd146e4-b147-42a3-a00f-e4739e60b272/signaling 200 7ms","method":"POST","requestID":"efea0af0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"efeb6a80-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84895317-e137-433e-be12-af6b8dc0e267","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.123989} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.345695,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"efeb6a80-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"efeb6a80-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"efeb6a80-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/359497ff-542a-4477-8d22-2e4cc4178543/signaling 200 31ms","method":"POST","requestID":"efeb6a80-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2OX0.ZBU6Czx_qGjjGOWFAAOKad1wIe0PDlMsvX5juzgYH-s","level":"info","message":"auth send jwt","requestID":"850a16e288a7743476a1281c0a1faec1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"850a16e288a7743476a1281c0a1faec1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830","requestID":"850a16e288a7743476a1281c0a1faec1"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.653207,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"850a16e288a7743476a1281c0a1faec1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841869,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2OX0.ZBU6Czx_qGjjGOWFAAOKad1wIe0PDlMsvX5juzgYH-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"850a16e288a7743476a1281c0a1faec1","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830","requestID":"850a16e288a7743476a1281c0a1faec1"} gateway-1 | {"time_local":"28/Apr/2025:12:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"850a16e288a7743476a1281c0a1faec1"} experiment-1 | {"level":"info","message":"GET /experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830 200 9ms","method":"GET","requestID":"850a16e288a7743476a1281c0a1faec1","responseTime":9,"status":200,"url":"/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2OX0.ZBU6Czx_qGjjGOWFAAOKad1wIe0PDlMsvX5juzgYH-s","level":"info","message":"auth send jwt","requestID":"e0ec9e2a5173dd034ac56361719c889b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e0ec9e2a5173dd034ac56361719c889b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830","requestID":"e0ec9e2a5173dd034ac56361719c889b"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.419157,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e0ec9e2a5173dd034ac56361719c889b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841869,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2OX0.ZBU6Czx_qGjjGOWFAAOKad1wIe0PDlMsvX5juzgYH-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e0ec9e2a5173dd034ac56361719c889b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Attempting to finish experiment","requestID":"e0ec9e2a5173dd034ac56361719c889b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"eff7c690-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.675633,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"eff7c690-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841869,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2OX0.ZBU6Czx_qGjjGOWFAAOKad1wIe0PDlMsvX5juzgYH-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"eff7c690-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"cdd146e4-b147-42a3-a00f-e4739e60b272","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":"cdd146e4-b147-42a3-a00f-e4739e60b272","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":"cdd146e4-b147-42a3-a00f-e4739e60b272","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":"359497ff-542a-4477-8d22-2e4cc4178543","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":"359497ff-542a-4477-8d22-2e4cc4178543","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":"359497ff-542a-4477-8d22-2e4cc4178543","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/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25da6573-6cc7-4b9c-8a16-378f7b4c7b0b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"be406811-49fc-404b-a460-f339d15de08e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.1907215} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42171a61-b66e-4e92-949f-14eca1530aec","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.1909528} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f01de47523353bba62fb2a4aa3fcadc1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"eff7c690-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"f01de47523353bba62fb2a4aa3fcadc1","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","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/cdd146e4-b147-42a3-a00f-e4739e60b272"},{"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/359497ff-542a-4477-8d22-2e4cc4178543"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b"}}},"level":"info","message":"received a callback","requestID":"f01de47523353bba62fb2a4aa3fcadc1"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dce48a130bd8dba5f13569c4ed54f77e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dce48a130bd8dba5f13569c4ed54f77e","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":"closed","url":"http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272"},{"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/359497ff-542a-4477-8d22-2e4cc4178543"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b"}}},"level":"info","message":"received a callback","requestID":"dce48a130bd8dba5f13569c4ed54f77e"} device-1 | {"data":{"peerconnection":"25da6573-6cc7-4b9c-8a16-378f7b4c7b0b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"eff7c690-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b 204 59ms","method":"DELETE","requestID":"eff7c690-2428-11f0-a0e6-516e7b85a777","responseTime":59,"status":204,"url":"/peerconnections/25da6573-6cc7-4b9c-8a16-378f7b4c7b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"},"level":"info","message":"Successfully finished experiment","requestID":"e0ec9e2a5173dd034ac56361719c889b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f006e1c0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd146e4-b147-42a3-a00f-e4739e60b272","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b171b4ac-7706-45ac-9480-4d1b4492005a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.2814755} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.852971,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f006e1c0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f006e1c0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f006e1c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/cdd146e4-b147-42a3-a00f-e4739e60b272/signaling 200 10ms","method":"POST","requestID":"f006e1c0-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/cdd146e4-b147-42a3-a00f-e4739e60b272/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f008b680-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb9eea76e-1eae-495a-a86a-5a0cc259a830': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb9eea76e-1eae-495a-a86a-5a0cc259a830","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"df675547-5000-47ac-94ee-16c735fe7337","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.3156226} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f95c4fb-e402-4b5d-8783-df3630ebc01c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.3157504} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"e0ec9e2a5173dd034ac56361719c889b","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F359497ff-542a-4477-8d22-2e4cc4178543","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c47b7cd-e0b8-4aa5-8b58-5ecaae9b05fc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.3180692} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.361226,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f008b680-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f008b680-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f008b680-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/359497ff-542a-4477-8d22-2e4cc4178543/signaling 200 34ms","method":"POST","requestID":"f008b680-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/359497ff-542a-4477-8d22-2e4cc4178543/signaling"} gateway-1 | {"time_local":"28/Apr/2025:12:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830 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":"e0ec9e2a5173dd034ac56361719c889b"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830","requestID":"e0ec9e2a5173dd034ac56361719c889b"} experiment-1 | {"level":"info","message":"DELETE /experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830 204 217ms","method":"DELETE","requestID":"e0ec9e2a5173dd034ac56361719c889b","responseTime":217,"status":204,"url":"/experiments/b9eea76e-1eae-495a-a86a-5a0cc259a830"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"f01de47523353bba62fb2a4aa3fcadc1","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.218","http_referrer":"","http_user_agent":"node-fetch","requestID":"f01de47523353bba62fb2a4aa3fcadc1"} gateway-1 | {"time_local":"28/Apr/2025:12:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.970","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"1708f4d1c132bd71aad2599c0b46adde"} gateway-1 | {"time_local":"28/Apr/2025:12:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.961","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"be0404d4752e6f4bbed2d318a9ff348a"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/359497ff-542a-4477-8d22-2e4cc4178543' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 194ms","method":"POST","requestID":"dce48a130bd8dba5f13569c4ed54f77e","responseTime":194,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cdd146e4-b147-42a3-a00f-e4739e60b272' closed"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.222","http_referrer":"","http_user_agent":"node-fetch","requestID":"dce48a130bd8dba5f13569c4ed54f77e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2OX0.ZBU6Czx_qGjjGOWFAAOKad1wIe0PDlMsvX5juzgYH-s","level":"info","message":"auth send jwt","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.967288,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841869,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2OX0.ZBU6Czx_qGjjGOWFAAOKad1wIe0PDlMsvX5juzgYH-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b74a46cf-a2f1-4ef3-8560-c80550bd899f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.4318213} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e324de0b-25c6-4011-b274-6d9fb9c218de","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.461081} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"ad93b4ab-7c41-4986-8d10-be0af0898686","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.4705453} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3b23c75-7bf7-4258-96d9-b66e5b0b92ae","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.4707947} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.470521824Z"}]},"request_id":"d8e5feaa-ac84-4dd3-a2b6-d4095eb366cb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.4757187} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"ac3d7a96bb6ac5ea6cd99d35dfe62e83","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2OX0.ZBU6Czx_qGjjGOWFAAOKad1wIe0PDlMsvX5juzgYH-s","level":"info","message":"auth send jwt","requestID":"90a9c2bec7992aa2570352a445e0ad99"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"90a9c2bec7992aa2570352a445e0ad99","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"90a9c2bec7992aa2570352a445e0ad99"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.710344,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"90a9c2bec7992aa2570352a445e0ad99","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841869,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg2OX0.ZBU6Czx_qGjjGOWFAAOKad1wIe0PDlMsvX5juzgYH-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"90a9c2bec7992aa2570352a445e0ad99","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e0436fe7-7f1b-4440-a3fb-50a3d7785e86","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.5262694} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"90a9c2bec7992aa2570352a445e0ad99","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd1eb400-ca3f-4070-b13e-388208fa2e6d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.555925} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"90a9c2bec7992aa2570352a445e0ad99","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"271532ea-b444-4392-9233-d734470dea1d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.5676131} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"925d425a-3a56-441b-9c0d-c6726726d9da","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.5678935} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"90a9c2bec7992aa2570352a445e0ad99","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.567583439Z"}]},"request_id":"8098556e-4a3c-4b04-9e16-3b36b98e8c22","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841869.5731847} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"90a9c2bec7992aa2570352a445e0ad99","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"90a9c2bec7992aa2570352a445e0ad99"} device-1 | {"level":"info","message":"POST /devices? 201 67ms","method":"POST","requestID":"90a9c2bec7992aa2570352a445e0ad99","responseTime":67,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"90a9c2bec7992aa2570352a445e0ad99"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4","level":"info","message":"auth send jwt","requestID":"54ef0b4d8233644d91912a815a5fd013"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"54ef0b4d8233644d91912a815a5fd013","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"54ef0b4d8233644d91912a815a5fd013"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698474,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"54ef0b4d8233644d91912a815a5fd013","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"54ef0b4d8233644d91912a815a5fd013","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.470521824Z"}]},"request_id":"9150b77d-75f8-4048-9de2-ae776a2b3081","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.5288136} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"54ef0b4d8233644d91912a815a5fd013","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b74b898-b6d5-4b31-a8af-3ee6612140d5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.5331583} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"54ef0b4d8233644d91912a815a5fd013","responseTime":3,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4","level":"info","message":"auth send jwt","requestID":"530e25f0d35643eee6afb3e13040a276"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"530e25f0d35643eee6afb3e13040a276","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"530e25f0d35643eee6afb3e13040a276"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678386,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"530e25f0d35643eee6afb3e13040a276","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"530e25f0d35643eee6afb3e13040a276","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.470521824Z"}]},"request_id":"286beed2-94ac-4202-8e1e-79d9ca9d0f1e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.5783515} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"54ef0b4d8233644d91912a815a5fd013","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.567583439Z"}]},"request_id":"65fa5afa-887a-4687-b6d5-ff555f3e34a7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.5791538} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"54ef0b4d8233644d91912a815a5fd013"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"530e25f0d35643eee6afb3e13040a276","responseTime":2,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"28/Apr/2025:12:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.064","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"54ef0b4d8233644d91912a815a5fd013"} device-1 | {"level":"info","message":"PATCH /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e 200 60ms","method":"PATCH","requestID":"54ef0b4d8233644d91912a815a5fd013","responseTime":60,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4","level":"info","message":"auth send jwt","requestID":"38a62c353630eb360031d99addb6a563"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"38a62c353630eb360031d99addb6a563","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"38a62c353630eb360031d99addb6a563"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ccc3620-e48a-48b9-88fc-9e6b93242499","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.6089683} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"530e25f0d35643eee6afb3e13040a276","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616819,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"38a62c353630eb360031d99addb6a563","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"38a62c353630eb360031d99addb6a563","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.567583439Z"}]},"request_id":"0e9ca0e8-3513-4d4f-b617-4ffdaf3a93c1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.6206105} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"530e25f0d35643eee6afb3e13040a276","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"530e25f0d35643eee6afb3e13040a276"} device-1 | {"level":"info","message":"PATCH /devices/972c7ef9-8667-405f-af00-423d5e44ca25 200 83ms","method":"PATCH","requestID":"530e25f0d35643eee6afb3e13040a276","responseTime":83,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25"} gateway-1 | {"time_local":"28/Apr/2025:12:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/972c7ef9-8667-405f-af00-423d5e44ca25 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.086","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"530e25f0d35643eee6afb3e13040a276"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4","level":"info","message":"auth send jwt","requestID":"aa95f203ff6f93aebdc00256ce18ebff"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa95f203ff6f93aebdc00256ce18ebff","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"aa95f203ff6f93aebdc00256ce18ebff"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"38a62c353630eb360031d99addb6a563"} gateway-1 | {"time_local":"28/Apr/2025:12:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"38a62c353630eb360031d99addb6a563"} device-1 | {"level":"info","message":"POST /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/websocket 200 18ms","method":"POST","requestID":"38a62c353630eb360031d99addb6a563","responseTime":18,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/websocket"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708302,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"aa95f203ff6f93aebdc00256ce18ebff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aa95f203ff6f93aebdc00256ce18ebff","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"aa95f203ff6f93aebdc00256ce18ebff"} gateway-1 | {"time_local":"28/Apr/2025:12:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/972c7ef9-8667-405f-af00-423d5e44ca25/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"aa95f203ff6f93aebdc00256ce18ebff"} device-1 | {"level":"info","message":"POST /devices/972c7ef9-8667-405f-af00-423d5e44ca25/websocket 200 41ms","method":"POST","requestID":"aa95f203ff6f93aebdc00256ce18ebff","responseTime":41,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4","level":"info","message":"auth send jwt","requestID":"8052d39b755801b4a2ffc247c4e9771a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8052d39b755801b4a2ffc247c4e9771a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8052d39b755801b4a2ffc247c4e9771a"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706104,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8052d39b755801b4a2ffc247c4e9771a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8052d39b755801b4a2ffc247c4e9771a","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.470521824Z"}]},"request_id":"3da864e0-6d5b-4845-a84e-5d0acc791ad8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.7105284} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8052d39b755801b4a2ffc247c4e9771a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8052d39b755801b4a2ffc247c4e9771a"} device-1 | {"level":"info","message":"GET /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e? 200 36ms","method":"GET","requestID":"8052d39b755801b4a2ffc247c4e9771a","responseTime":36,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e? 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":"8052d39b755801b4a2ffc247c4e9771a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4","level":"info","message":"auth send jwt","requestID":"04e3e0d13704442e9883495bbac41d23"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"04e3e0d13704442e9883495bbac41d23","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04e3e0d13704442e9883495bbac41d23"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650517,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"04e3e0d13704442e9883495bbac41d23","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"04e3e0d13704442e9883495bbac41d23","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.567583439Z"}]},"request_id":"61fb1e0b-7dec-4903-a35f-8ac0837feb18","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.7239037} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"04e3e0d13704442e9883495bbac41d23","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04e3e0d13704442e9883495bbac41d23"} device-1 | {"level":"info","message":"GET /devices/972c7ef9-8667-405f-af00-423d5e44ca25? 200 10ms","method":"GET","requestID":"04e3e0d13704442e9883495bbac41d23","responseTime":10,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/972c7ef9-8667-405f-af00-423d5e44ca25? 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":"04e3e0d13704442e9883495bbac41d23"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4","level":"info","message":"auth send jwt","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"38847760d9c066d69bcb96aa8cb9aab4","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.455328,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"38847760d9c066d69bcb96aa8cb9aab4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"38847760d9c066d69bcb96aa8cb9aab4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Attempting to run experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Attempting to book experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Successfully booked experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f0f2a150-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f0f2ef70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681368,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f0f2a150-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f0f2a150-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731241,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f0f2ef70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f0f2ef70-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.470521824Z"}]},"request_id":"7c759118-b763-49f3-9c44-8046fb4db692","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.8543925} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"f0f2a150-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.567583439Z"}]},"request_id":"90c022d9-52f3-4cc6-86a8-c66af5ca51e6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.8553922} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f0f2ef70-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f0f2a150-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e? 200 38ms","method":"GET","requestID":"f0f2a150-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f0f2ef70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/972c7ef9-8667-405f-af00-423d5e44ca25? 200 37ms","method":"GET","requestID":"f0f2ef70-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Setting up experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Successfully locked booking for experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Attempting to update booking for experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Successfully updated booking for experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Successfully set up experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f1012040-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f1014750-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f1019570-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Successfully running experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140822,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f1012040-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f1012040-2428-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766622,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f1014750-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"f1014750-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c0d5a28-912a-4c6f-908d-90116d5d45e2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.9483664} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.567583439Z"}]},"request_id":"caa4f31a-31ef-45a0-8d5d-8754cba133c5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.9505343} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533095,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f1019570-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f1019570-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f1014750-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.470521824Z"}]},"request_id":"6fa17e22-c021-4d9c-b32a-a75e71766ac4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.9510846} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f1012040-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f1019570-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/signaling 200 37ms","method":"POST","requestID":"f1019570-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f1014750-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/972c7ef9-8667-405f-af00-423d5e44ca25? 200 39ms","method":"GET","requestID":"f1014750-2428-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f1012040-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e? 200 41ms","method":"GET","requestID":"f1012040-2428-11f0-a0e6-516e7b85a777","responseTime":41,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f10788e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f107aff0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F24c0539c-8a79-47a5-93d5-1979c16af080#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F24c0539c-8a79-47a5-93d5-1979c16af080","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"0332850e-0075-4753-b5d9-ce0b847bd681","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.9606588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c61b147-28b6-4110-9090-6729f3e49785","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.9610147} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"38847760d9c066d69bcb96aa8cb9aab4","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.505542,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"687d2d12-b3ba-4ce3-81f4-650063215913","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.9633882} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27fa72cb-4967-471c-836d-5604d7232c4f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841870.9643009} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f10788e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f10788e0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.513421,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f107aff0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f107aff0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f10788e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/972c7ef9-8667-405f-af00-423d5e44ca25/signaling 200 35ms","method":"POST","requestID":"f10788e0-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25/signaling"} gateway-1 | {"time_local":"28/Apr/2025:12:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.265","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f107aff0-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"level":"info","message":"POST /experiments? 201 239ms","method":"POST","requestID":"38847760d9c066d69bcb96aa8cb9aab4","responseTime":239,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/signaling 200 35ms","method":"POST","requestID":"f107aff0-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f10d7c50-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4","level":"info","message":"auth send jwt","requestID":"87fbbeee3ac9cc1d62301cb4190fa03c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87fbbeee3ac9cc1d62301cb4190fa03c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87fbbeee3ac9cc1d62301cb4190fa03c"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d007269-38fe-49b5-bf5a-1e96ee1099fd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841871.001503} authorization-1 | {"client_addr":"127.0.0.1:52258","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674995,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"87fbbeee3ac9cc1d62301cb4190fa03c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"87fbbeee3ac9cc1d62301cb4190fa03c","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.425596,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f10d7c50-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f10d7c50-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.470521824Z"}]},"request_id":"a9240e5f-4bdf-4564-9843-b5d30bc70640","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841871.0056965} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f10d7c50-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/972c7ef9-8667-405f-af00-423d5e44ca25/signaling 200 9ms","method":"POST","requestID":"f10d7c50-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"87fbbeee3ac9cc1d62301cb4190fa03c","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Building connection plan","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} 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":"13626f5c-88db-42c5-99a3-3c3c98143cc4"},{"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":"be94c08d-88df-4749-a578-54e4926c2de5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"06cf9cdf-5667-4d05-ac7b-6fc2b24c76ff"}]},"level":"info","message":"Built pairwise service configurations","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} 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/972c7ef9-8667-405f-af00-423d5e44ca25"},{"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/09f7dc76-04f7-4bea-93cb-3104ed00c29e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87fbbeee3ac9cc1d62301cb4190fa03c"} gateway-1 | {"time_local":"28/Apr/2025:12:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e? 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":"87fbbeee3ac9cc1d62301cb4190fa03c"} device-1 | {"level":"info","message":"GET /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e? 200 11ms","method":"GET","requestID":"87fbbeee3ac9cc1d62301cb4190fa03c","responseTime":11,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e?"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.266756,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841870,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MH0.xKpv_JkpPVP_4g2qKZduFzrjodgpbnw55Le6yrjskE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MX0.5g41czhZz169N0hiJ7jDKOWrl_eww_K-FFKa8Ibtqk0","level":"info","message":"auth send jwt","requestID":"5c08189cd41c09fbeb0db6e259747c8c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5c08189cd41c09fbeb0db6e259747c8c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5c08189cd41c09fbeb0db6e259747c8c"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643646,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5c08189cd41c09fbeb0db6e259747c8c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841871,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3MX0.5g41czhZz169N0hiJ7jDKOWrl_eww_K-FFKa8Ibtqk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"5c08189cd41c09fbeb0db6e259747c8c","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:29.567583439Z"}]},"request_id":"b804e995-6a5c-4831-bb34-2a5f77b7ce5b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841871.047894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5c08189cd41c09fbeb0db6e259747c8c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"1996fb4a-5999-4cbb-9cfb-03bfe95a19ce","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841871.0488837} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6172be93-070b-4691-99a6-a700109b6117","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841871.0495803} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5c08189cd41c09fbeb0db6e259747c8c"} device-1 | {"level":"info","message":"GET /devices/972c7ef9-8667-405f-af00-423d5e44ca25? 200 37ms","method":"GET","requestID":"5c08189cd41c09fbeb0db6e259747c8c","responseTime":37,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/972c7ef9-8667-405f-af00-423d5e44ca25? 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":"5c08189cd41c09fbeb0db6e259747c8c"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff'","requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff'","requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 91ms","method":"POST","requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777","responseTime":91,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f10f5110-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"38847760d9c066d69bcb96aa8cb9aab4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f124add0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3369654-70a8-4417-961b-5ed646b727fa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841871.1535835} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.352366,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f124add0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f124add0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f124add0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/signaling 200 8ms","method":"POST","requestID":"f124add0-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f1263470-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b14fbc70-58c4-4a14-ac01-18691e708234","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841871.1870394} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.355131,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f1263470-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","rebac_allow":false,"scope_allow":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":"f1263470-2428-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f1263470-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/972c7ef9-8667-405f-af00-423d5e44ca25/signaling 200 31ms","method":"POST","requestID":"f1263470-2428-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25/signaling"} device-1 | {"device":"09f7dc76-04f7-4bea-93cb-3104ed00c29e","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":"c11cc146-7c55-4472-a11c-e0abe15dbaff","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"972c7ef9-8667-405f-af00-423d5e44ca25","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":"c11cc146-7c55-4472-a11c-e0abe15dbaff","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"972c7ef9-8667-405f-af00-423d5e44ca25","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":"972c7ef9-8667-405f-af00-423d5e44ca25","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":"972c7ef9-8667-405f-af00-423d5e44ca25","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":"972c7ef9-8667-405f-af00-423d5e44ca25","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/c11cc146-7c55-4472-a11c-e0abe15dbaff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c11cc146-7c55-4472-a11c-e0abe15dbaff","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0b73b4684f7375dec5e79376ba63a8ce","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0b73b4684f7375dec5e79376ba63a8ce","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/972c7ef9-8667-405f-af00-423d5e44ca25"},{"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/09f7dc76-04f7-4bea-93cb-3104ed00c29e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff"}}},"level":"info","message":"received a callback","requestID":"0b73b4684f7375dec5e79376ba63a8ce"} device-1 | {"device":"09f7dc76-04f7-4bea-93cb-3104ed00c29e","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":"09f7dc76-04f7-4bea-93cb-3104ed00c29e","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":"09f7dc76-04f7-4bea-93cb-3104ed00c29e","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 28ms","method":"POST","requestID":"0b73b4684f7375dec5e79376ba63a8ce","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"0b73b4684f7375dec5e79376ba63a8ce"} device-1 | {"device":"09f7dc76-04f7-4bea-93cb-3104ed00c29e","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":"c11cc146-7c55-4472-a11c-e0abe15dbaff","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"972c7ef9-8667-405f-af00-423d5e44ca25","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":"972c7ef9-8667-405f-af00-423d5e44ca25","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":"09f7dc76-04f7-4bea-93cb-3104ed00c29e","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":"c11cc146-7c55-4472-a11c-e0abe15dbaff","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/c11cc146-7c55-4472-a11c-e0abe15dbaff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c11cc146-7c55-4472-a11c-e0abe15dbaff","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dfb3ec4a8e5cf07a7ffbefc27940af06","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dfb3ec4a8e5cf07a7ffbefc27940af06","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/972c7ef9-8667-405f-af00-423d5e44ca25"},{"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/09f7dc76-04f7-4bea-93cb-3104ed00c29e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff"}}},"level":"info","message":"received a callback","requestID":"dfb3ec4a8e5cf07a7ffbefc27940af06"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f2654420-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc11cc146-7c55-4472-a11c-e0abe15dbaff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e3d9d83-9b7a-45c1-ad2f-d30b43e0b45f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.2545278} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.509665,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f2654420-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff","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":"f2654420-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f2654420-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff 200 8ms","method":"GET","requestID":"f2654420-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"dfb3ec4a8e5cf07a7ffbefc27940af06","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"dfb3ec4a8e5cf07a7ffbefc27940af06"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f2687870-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"981c5ddf-c7a4-4231-9eee-569d1e11c9e2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.2752771} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.515455,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f2687870-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","rebac_allow":false,"scope_allow":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":"f2687870-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f2687870-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/972c7ef9-8667-405f-af00-423d5e44ca25/signaling 200 33ms","method":"POST","requestID":"f2687870-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f26dcfa0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39ab4a8a-ef68-4ebc-9609-83f8afbf669f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.3100712} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.530008,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f26dcfa0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f26dcfa0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f26dcfa0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/signaling 200 8ms","method":"POST","requestID":"f26dcfa0-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3M30.zaC1XW1KcAY-1BJn72N2OMlR7rnPUI3ibnFrI4wkKxs","level":"info","message":"auth send jwt","requestID":"a78763fa0f810783a9ae4db7e699e1df"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a78763fa0f810783a9ae4db7e699e1df","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/24c0539c-8a79-47a5-93d5-1979c16af080","requestID":"a78763fa0f810783a9ae4db7e699e1df"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.731523,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a78763fa0f810783a9ae4db7e699e1df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841873,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3M30.zaC1XW1KcAY-1BJn72N2OMlR7rnPUI3ibnFrI4wkKxs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a78763fa0f810783a9ae4db7e699e1df","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/24c0539c-8a79-47a5-93d5-1979c16af080","requestID":"a78763fa0f810783a9ae4db7e699e1df"} gateway-1 | {"time_local":"28/Apr/2025:12:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/24c0539c-8a79-47a5-93d5-1979c16af080 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a78763fa0f810783a9ae4db7e699e1df"} experiment-1 | {"level":"info","message":"GET /experiments/24c0539c-8a79-47a5-93d5-1979c16af080 200 32ms","method":"GET","requestID":"a78763fa0f810783a9ae4db7e699e1df","responseTime":32,"status":200,"url":"/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3M30.zaC1XW1KcAY-1BJn72N2OMlR7rnPUI3ibnFrI4wkKxs","level":"info","message":"auth send jwt","requestID":"fd86a05707c51e5850727f724b632c81"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fd86a05707c51e5850727f724b632c81","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/24c0539c-8a79-47a5-93d5-1979c16af080","requestID":"fd86a05707c51e5850727f724b632c81"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.699099,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fd86a05707c51e5850727f724b632c81","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841873,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3M30.zaC1XW1KcAY-1BJn72N2OMlR7rnPUI3ibnFrI4wkKxs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fd86a05707c51e5850727f724b632c81","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Attempting to finish experiment","requestID":"fd86a05707c51e5850727f724b632c81"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f2765b20-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.681033,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f2765b20-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841873,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3M30.zaC1XW1KcAY-1BJn72N2OMlR7rnPUI3ibnFrI4wkKxs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f2765b20-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"09f7dc76-04f7-4bea-93cb-3104ed00c29e","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":"09f7dc76-04f7-4bea-93cb-3104ed00c29e","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":"09f7dc76-04f7-4bea-93cb-3104ed00c29e","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":"972c7ef9-8667-405f-af00-423d5e44ca25","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":"972c7ef9-8667-405f-af00-423d5e44ca25","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":"972c7ef9-8667-405f-af00-423d5e44ca25","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/c11cc146-7c55-4472-a11c-e0abe15dbaff' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c11cc146-7c55-4472-a11c-e0abe15dbaff","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc11cc146-7c55-4472-a11c-e0abe15dbaff': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc11cc146-7c55-4472-a11c-e0abe15dbaff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"26321c9e-793d-4e22-9358-21e388ec9181","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.4010313} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da02f848-0d2f-41c1-b400-c776a34dec29","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.4013767} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4229cafb7c7a04433f05b67c28247189","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4229cafb7c7a04433f05b67c28247189","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8deb662a3eb57bf2d555d948bce6c091","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25"},{"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/09f7dc76-04f7-4bea-93cb-3104ed00c29e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff"}}},"level":"info","message":"received a callback","requestID":"4229cafb7c7a04433f05b67c28247189"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8deb662a3eb57bf2d555d948bce6c091","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":"closed","url":"http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25"},{"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/09f7dc76-04f7-4bea-93cb-3104ed00c29e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff"}}},"level":"info","message":"received a callback","requestID":"8deb662a3eb57bf2d555d948bce6c091"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"f2765b20-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"c11cc146-7c55-4472-a11c-e0abe15dbaff","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f2765b20-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff 204 89ms","method":"DELETE","requestID":"f2765b20-2428-11f0-a0e6-516e7b85a777","responseTime":89,"status":204,"url":"/peerconnections/c11cc146-7c55-4472-a11c-e0abe15dbaff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"},"level":"info","message":"Successfully finished experiment","requestID":"fd86a05707c51e5850727f724b632c81"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f28a0a30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F972c7ef9-8667-405f-af00-423d5e44ca25","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c2dcb76-8c2f-4ec6-a87d-46e38eabe1ef","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.4951775} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.814999,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f28a0a30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f28a0a30-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f28a0a30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F24c0539c-8a79-47a5-93d5-1979c16af080': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F24c0539c-8a79-47a5-93d5-1979c16af080","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"41789ac5-2ef2-421a-8420-0f0fd6fedefc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.4998806} device-1 | {"level":"info","message":"POST /devices/972c7ef9-8667-405f-af00-423d5e44ca25/signaling 200 9ms","method":"POST","requestID":"f28a0a30-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/972c7ef9-8667-405f-af00-423d5e44ca25/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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6b5a602-6664-4cf9-bb88-c9e2ffaf1ae4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.500248} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"fd86a05707c51e5850727f724b632c81","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f28bb7e0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09f7dc76-04f7-4bea-93cb-3104ed00c29e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5c7b804-2ccf-42f0-9017-3cf40dfbb6b6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.505976} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.436833,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f28bb7e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f28bb7e0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f28bb7e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/signaling 200 7ms","method":"POST","requestID":"f28bb7e0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/24c0539c-8a79-47a5-93d5-1979c16af080","requestID":"fd86a05707c51e5850727f724b632c81"} gateway-1 | {"time_local":"28/Apr/2025:12:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/24c0539c-8a79-47a5-93d5-1979c16af080 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd86a05707c51e5850727f724b632c81"} experiment-1 | {"level":"info","message":"DELETE /experiments/24c0539c-8a79-47a5-93d5-1979c16af080 204 239ms","method":"DELETE","requestID":"fd86a05707c51e5850727f724b632c81","responseTime":239,"status":204,"url":"/experiments/24c0539c-8a79-47a5-93d5-1979c16af080"} gateway-1 | {"time_local":"28/Apr/2025:12:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.923","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"bd6723825b73265b189aa5ed28088374"} gateway-1 | {"time_local":"28/Apr/2025:12:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.961","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a3e7cabfbf2939c1a99958ddb8adc77e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 191ms","method":"POST","requestID":"4229cafb7c7a04433f05b67c28247189","responseTime":191,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/972c7ef9-8667-405f-af00-423d5e44ca25' closed"} gateway-1 | {"time_local":"28/Apr/2025:12:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"4229cafb7c7a04433f05b67c28247189"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 191ms","method":"POST","requestID":"8deb662a3eb57bf2d555d948bce6c091","responseTime":191,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch","requestID":"8deb662a3eb57bf2d555d948bce6c091"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/09f7dc76-04f7-4bea-93cb-3104ed00c29e' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3M30.zaC1XW1KcAY-1BJn72N2OMlR7rnPUI3ibnFrI4wkKxs","level":"info","message":"auth send jwt","requestID":"a619413e02ea1ba04acb2d1391333c58"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a619413e02ea1ba04acb2d1391333c58","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a619413e02ea1ba04acb2d1391333c58"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.809233,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a619413e02ea1ba04acb2d1391333c58","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841873,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3M30.zaC1XW1KcAY-1BJn72N2OMlR7rnPUI3ibnFrI4wkKxs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a619413e02ea1ba04acb2d1391333c58","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1f99daa3-1d22-42ed-9f69-66139121351e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.6430094} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a619413e02ea1ba04acb2d1391333c58","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1479d50c-5421-4ae6-a733-3461f89f58c0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.6495664} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a619413e02ea1ba04acb2d1391333c58","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"6ea2b14d-8947-41a9-a466-2f4bc7f53be7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.6605392} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c982c76a-87cf-403a-a06e-3a26733a361c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.6823192} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"a619413e02ea1ba04acb2d1391333c58","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:33.660518818Z"}]},"request_id":"c0e8dd08-28d8-4cf2-9c1b-8edfe6911f66","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.6874933} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a619413e02ea1ba04acb2d1391333c58","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a619413e02ea1ba04acb2d1391333c58"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a619413e02ea1ba04acb2d1391333c58"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"a619413e02ea1ba04acb2d1391333c58","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3M30.zaC1XW1KcAY-1BJn72N2OMlR7rnPUI3ibnFrI4wkKxs","level":"info","message":"auth send jwt","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.749455,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0870b5c2e5487e3b9bddd32a5d55ec02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841873,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3M30.zaC1XW1KcAY-1BJn72N2OMlR7rnPUI3ibnFrI4wkKxs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3517a786-2c0c-435e-b666-16bffec2621c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.8280997} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b858913a-f4b6-4b48-bd5c-d2d79b36f620","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.8322048} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"6d4a2fce-fc14-4ad0-b59f-475639805a74","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.9825299} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28fe4c58-ab32-4c06-8485-35233abaf906","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.9826128} authorization-1 | {"level":"info","message":"POST /relations/update 200 152ms","method":"POST","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02","responseTime":152,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:33.982498809Z"}]},"request_id":"15463805-660d-4b0d-94fc-0d8500161555","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841873.9865851} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.297","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02"} device-1 | {"level":"info","message":"POST /devices? 201 293ms","method":"POST","requestID":"0870b5c2e5487e3b9bddd32a5d55ec02","responseTime":293,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"be8dc513084408e2d7a2346d1f083a10","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"be8dc513084408e2d7a2346d1f083a10","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3d05547040bcdaa3ed8c4c99445fb023","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d05547040bcdaa3ed8c4c99445fb023","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/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":"be8dc513084408e2d7a2346d1f083a10"} device-1 | {"level":"info","message":"OPTIONS /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/websocket 200 0ms","method":"OPTIONS","requestID":"be8dc513084408e2d7a2346d1f083a10","responseTime":0,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/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":"3d05547040bcdaa3ed8c4c99445fb023"} device-1 | {"level":"info","message":"OPTIONS /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/websocket 200 0ms","method":"OPTIONS","requestID":"3d05547040bcdaa3ed8c4c99445fb023","responseTime":0,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940","level":"info","message":"auth send jwt","requestID":"79a168c6e85335903184000de6194000"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"79a168c6e85335903184000de6194000","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940","level":"info","message":"auth send jwt","requestID":"544b45e942ffef54945a89d6a773a603"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"544b45e942ffef54945a89d6a773a603","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"79a168c6e85335903184000de6194000"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"544b45e942ffef54945a89d6a773a603"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867846,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"79a168c6e85335903184000de6194000","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"79a168c6e85335903184000de6194000","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.828458,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"544b45e942ffef54945a89d6a773a603","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"544b45e942ffef54945a89d6a773a603","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"79a168c6e85335903184000de6194000"} gateway-1 | {"time_local":"28/Apr/2025:12:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/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":"79a168c6e85335903184000de6194000"} device-1 | {"level":"info","message":"POST /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/websocket 200 48ms","method":"POST","requestID":"79a168c6e85335903184000de6194000","responseTime":48,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"544b45e942ffef54945a89d6a773a603"} device-1 | {"level":"info","message":"POST /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/websocket 200 55ms","method":"POST","requestID":"544b45e942ffef54945a89d6a773a603","responseTime":55,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.060","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"544b45e942ffef54945a89d6a773a603"} device-1 | {"level":"info","message":"device 'http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940","level":"info","message":"auth send jwt","requestID":"83381104b2730943d7345e1910d0237d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"83381104b2730943d7345e1910d0237d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83381104b2730943d7345e1910d0237d"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708977,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"83381104b2730943d7345e1910d0237d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"83381104b2730943d7345e1910d0237d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:33.660518818Z"}]},"request_id":"bebf645a-1711-4311-9802-86b59bd4c114","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.4815369} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"83381104b2730943d7345e1910d0237d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83381104b2730943d7345e1910d0237d"} device-1 | {"level":"info","message":"GET /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed? 200 9ms","method":"GET","requestID":"83381104b2730943d7345e1910d0237d","responseTime":9,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed? 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":"83381104b2730943d7345e1910d0237d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940","level":"info","message":"auth send jwt","requestID":"4f183493396b35ed95cdb668ba7e2bf1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4f183493396b35ed95cdb668ba7e2bf1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4f183493396b35ed95cdb668ba7e2bf1"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641724,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4f183493396b35ed95cdb668ba7e2bf1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4f183493396b35ed95cdb668ba7e2bf1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:33.982498809Z"}]},"request_id":"71e49884-8eac-40ca-a2af-03c3da1e0e03","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.519023} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4f183493396b35ed95cdb668ba7e2bf1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4f183493396b35ed95cdb668ba7e2bf1"} device-1 | {"level":"info","message":"GET /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5? 200 10ms","method":"GET","requestID":"4f183493396b35ed95cdb668ba7e2bf1","responseTime":10,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5? 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":"4f183493396b35ed95cdb668ba7e2bf1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940","level":"info","message":"auth send jwt","requestID":"6e5a759894286678f6301bc52b209f25"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6e5a759894286678f6301bc52b209f25","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6e5a759894286678f6301bc52b209f25"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.859334,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6e5a759894286678f6301bc52b209f25","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6e5a759894286678f6301bc52b209f25","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Attempting to run experiment","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Attempting to book experiment","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Successfully booked experiment","requestID":"6e5a759894286678f6301bc52b209f25"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4666b50-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f466b970-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655117,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f4666b50-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f4666b50-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.539311,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f466b970-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f466b970-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:33.660518818Z"}]},"request_id":"d84734f8-1f96-4cf0-9cd6-98af143039dc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.6201966} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4666b50-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:33.982498809Z"}]},"request_id":"c4c45465-9cc3-49ee-85af-7cd85f1cc86e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.620683} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f466b970-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4666b50-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed? 200 11ms","method":"GET","requestID":"f4666b50-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f466b970-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5? 200 9ms","method":"GET","requestID":"f466b970-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Setting up experiment","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Successfully set up experiment","requestID":"6e5a759894286678f6301bc52b209f25"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f47697f0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f476bf00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f476e610-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Successfully running experiment","requestID":"6e5a759894286678f6301bc52b209f25"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.95411,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f47697f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f47697f0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749743,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f476bf00-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f476bf00-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e176557-84cd-41bf-b15b-09269b6f3eea","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.7269092} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.444866,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f476e610-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","object_type":"device","rebac_allow":false,"scope_allow":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":"f476e610-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:33.660518818Z"}]},"request_id":"5b0d1af8-c0a9-4b51-b448-dcb2542fc28c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.7536132} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:33.982498809Z"}]},"request_id":"71547f83-70db-4bec-be3d-12b5f07a8bb1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.75451} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"f47697f0-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f476bf00-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f476e610-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/signaling 200 38ms","method":"POST","requestID":"f476e610-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f47697f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e256c56-aeef-40c2-b723-5a61a9751f75#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e256c56-aeef-40c2-b723-5a61a9751f75","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"b6e2c988-22d6-4b5a-8c1b-304b26af6685","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.7599716} device-1 | {"level":"info","message":"GET /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed? 200 42ms","method":"GET","requestID":"f47697f0-2428-11f0-a0e6-516e7b85a777","responseTime":42,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f476bf00-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a87ed4a-f127-481d-bc36-a5c5f8a3ce6e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.7603188} device-1 | {"level":"info","message":"GET /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5? 200 42ms","method":"GET","requestID":"f476bf00-2428-11f0-a0e6-516e7b85a777","responseTime":42,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"6e5a759894286678f6301bc52b209f25","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f47d27a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f47dc3e0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2cfb300-e353-4e35-8f11-1bf3459f206c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.7676544} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.892465,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6e5a759894286678f6301bc52b209f25"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} gateway-1 | {"time_local":"28/Apr/2025:12:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"level":"info","message":"POST /experiments? 201 243ms","method":"POST","requestID":"6e5a759894286678f6301bc52b209f25","responseTime":243,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f47d27a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","object_type":"device","rebac_allow":false,"scope_allow":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":"f47d27a0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23252d35-0063-496f-8d84-04b48c451d94","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.7706788} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.779325,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f47dc3e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","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":"f47d27a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f47dc3e0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/signaling 200 11ms","method":"POST","requestID":"f47d27a0-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940","level":"info","message":"auth send jwt","requestID":"99ca9f5cda3465707180b1953ce91efc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"99ca9f5cda3465707180b1953ce91efc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"99ca9f5cda3465707180b1953ce91efc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f47dc3e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/signaling 200 35ms","method":"POST","requestID":"f47dc3e0-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/signaling"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757192,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"99ca9f5cda3465707180b1953ce91efc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4836930-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"99ca9f5cda3465707180b1953ce91efc","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:33.660518818Z"}]},"request_id":"38d0a782-624d-494c-a075-74f2611a3034","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.8069286} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02ea3b7c-dfc8-44bd-9573-4008736880ce","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.8070343} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"99ca9f5cda3465707180b1953ce91efc","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283778,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f4836930-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4836930-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"99ca9f5cda3465707180b1953ce91efc"} gateway-1 | {"time_local":"28/Apr/2025:12:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed? 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":"99ca9f5cda3465707180b1953ce91efc"} device-1 | {"level":"info","message":"GET /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed? 200 36ms","method":"GET","requestID":"99ca9f5cda3465707180b1953ce91efc","responseTime":36,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4836930-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/signaling 200 9ms","method":"POST","requestID":"f4836930-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6e5a759894286678f6301bc52b209f25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Building connection plan","requestID":"6e5a759894286678f6301bc52b209f25"} 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":"5dffbeb8-a8bf-42b7-b162-fafcdb4bd29a"},{"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":"d729a7a0-cf75-41a4-bf38-26cff4513a38"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"287b8449-aa72-47db-b1d3-8a4784470263"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6e5a759894286678f6301bc52b209f25"} 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/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5"},{"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/41b19906-3b39-4e1a-9e81-eb64c82890ed"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6e5a759894286678f6301bc52b209f25"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f4853df0-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940","level":"info","message":"auth send jwt","requestID":"b95dc7ba3c3d6cc401d7d7b826d660fc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b95dc7ba3c3d6cc401d7d7b826d660fc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b95dc7ba3c3d6cc401d7d7b826d660fc"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.707552,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f4853df0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f4853df0-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.56305,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"b95dc7ba3c3d6cc401d7d7b826d660fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841876,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3Nn0.eb8W6g0zNrZjjj9dWOc1xrC1La2F_JcKL3S8MTiU940"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b95dc7ba3c3d6cc401d7d7b826d660fc","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:33.982498809Z"}]},"request_id":"b13e6a8d-f79b-4ef7-a609-b880f70db388","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.823847} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"b95dc7ba3c3d6cc401d7d7b826d660fc","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b95dc7ba3c3d6cc401d7d7b826d660fc"} gateway-1 | {"time_local":"28/Apr/2025:12:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5? 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":"b95dc7ba3c3d6cc401d7d7b826d660fc"} device-1 | {"level":"info","message":"GET /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5? 200 34ms","method":"GET","requestID":"b95dc7ba3c3d6cc401d7d7b826d660fc","responseTime":34,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"e0a3cce1-316a-4b67-abbc-e84c235e1e69","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.8521016} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4ee3b9d-67c5-440c-ba7f-aa766aee503f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.8522782} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f4853df0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f4853df0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f4853df0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01'","requestID":"f4853df0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01'","requestID":"f4853df0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f4853df0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 92ms","method":"POST","requestID":"f4853df0-2428-11f0-a0e6-516e7b85a777","responseTime":92,"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":"f4853df0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01","device":"b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","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/6e078fb4-1705-48f2-bba2-b306a58a5f01","device":"41b19906-3b39-4e1a-9e81-eb64c82890ed","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/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6e5a759894286678f6301bc52b209f25"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f49a9ab0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} device-1 | {"device":"b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49af95b0-5a48-4f24-915b-1c1989d4b446","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.9602518} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.798138,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f49a9ab0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f49a9ab0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f49a9ab0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/signaling 200 8ms","method":"POST","requestID":"f49a9ab0-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f49c2150-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d4caa7a-8f3b-42ee-8a51-ffc1e51475d1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841876.9689915} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.321451,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f49c2150-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f49c2150-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f49c2150-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/signaling 200 29ms","method":"POST","requestID":"f49c2150-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/signaling"} device-1 | {"device":"41b19906-3b39-4e1a-9e81-eb64c82890ed","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"41b19906-3b39-4e1a-9e81-eb64c82890ed","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 9160973402631451887 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:pm04\r\na=ice-pwd:ZK4zXJja4a2PQX87HYe723qx\r\na=ice-options:trickle\r\na=fingerprint:sha-256 43:20:59:A3:56:E5:75:90:04:6E:D7:E4:3A:C0:C3:9A:CA:92:C8:A1:A8:5A:B7:71:80:15:4D:2A:CB:98:FD:DC\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"41b19906-3b39-4e1a-9e81-eb64c82890ed","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3851313433154990668 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:+8oM\r\na=ice-pwd:9dGQGHXI80yYehOOME8pJbM8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 27:D8:08:87:BF:BC:DB:F7:E8:C4:3E:54:E6:D1:82:25:50:C3:10:D1:E4:A5:DF:A3:3F:71:FF:5B:12:DA:1D:D9\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2238031351 1 udp 2113937151 ceab4c41-9a0d-445e-9d15-beb491976fb5.local 46239 typ host generation 0 ufrag +8oM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","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/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5'"} device-1 | {"content":{"candidate":"candidate:1860802592 1 udp 2113937151 6491fc47-5382-4c9d-923d-ad8f9c2a320f.local 58684 typ host generation 0 ufrag pm04 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"41b19906-3b39-4e1a-9e81-eb64c82890ed","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"41b19906-3b39-4e1a-9e81-eb64c82890ed","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","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/6e078fb4-1705-48f2-bba2-b306a58a5f01' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6e078fb4-1705-48f2-bba2-b306a58a5f01","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"41b19906-3b39-4e1a-9e81-eb64c82890ed","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"184d12cf9d07707b53825a3274cb6cef","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"184d12cf9d07707b53825a3274cb6cef","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/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5"},{"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/41b19906-3b39-4e1a-9e81-eb64c82890ed"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01"}}},"level":"info","message":"received a callback","requestID":"184d12cf9d07707b53825a3274cb6cef"} device-1 | {"device":"b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"41b19906-3b39-4e1a-9e81-eb64c82890ed","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":"184d12cf9d07707b53825a3274cb6cef","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"184d12cf9d07707b53825a3274cb6cef"} device-1 | {"device":"b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"6e078fb4-1705-48f2-bba2-b306a58a5f01","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6e078fb4-1705-48f2-bba2-b306a58a5f01","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/6e078fb4-1705-48f2-bba2-b306a58a5f01' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6e078fb4-1705-48f2-bba2-b306a58a5f01","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"993ca05a87f9d53fc59846c4dda68489","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"993ca05a87f9d53fc59846c4dda68489","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/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5"},{"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/41b19906-3b39-4e1a-9e81-eb64c82890ed"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01"}}},"level":"info","message":"received a callback","requestID":"993ca05a87f9d53fc59846c4dda68489"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f4b7bfa0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e078fb4-1705-48f2-bba2-b306a58a5f01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0a7358d-9516-401e-9dc7-29ca4a3e46a6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.150949} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.955008,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f4b7bfa0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01","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":"f4b7bfa0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f4b7bfa0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01 200 9ms","method":"GET","requestID":"f4b7bfa0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"993ca05a87f9d53fc59846c4dda68489","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch","requestID":"993ca05a87f9d53fc59846c4dda68489"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4bf12a0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a41268d6-3de9-446a-8c21-30d4f6604cc9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.1985078} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.638365,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f4bf12a0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3N30.wmQCUiRNjLnBbuQpf6G-bGr_uHxA5gGc7UAQG7OUkI0","level":"info","message":"auth send jwt","requestID":"162620c27ebc0a8f0c2e1564638dbcaa"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4bf12a0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"162620c27ebc0a8f0c2e1564638dbcaa","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3e256c56-aeef-40c2-b723-5a61a9751f75","requestID":"162620c27ebc0a8f0c2e1564638dbcaa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4bf12a0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/signaling 200 10ms","method":"POST","requestID":"f4bf12a0-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4c0c050-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.938251,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"162620c27ebc0a8f0c2e1564638dbcaa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841877,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3N30.wmQCUiRNjLnBbuQpf6G-bGr_uHxA5gGc7UAQG7OUkI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"162620c27ebc0a8f0c2e1564638dbcaa","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"496b48d0-74e0-46a0-a49f-13f3565415f4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.2342324} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.986138,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:37Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3e256c56-aeef-40c2-b723-5a61a9751f75","requestID":"162620c27ebc0a8f0c2e1564638dbcaa"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f4c0c050-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","object_type":"device","rebac_allow":false,"scope_allow":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":"f4c0c050-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"GET /experiments/3e256c56-aeef-40c2-b723-5a61a9751f75 200 35ms","method":"GET","requestID":"162620c27ebc0a8f0c2e1564638dbcaa","responseTime":35,"status":200,"url":"/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"} gateway-1 | {"time_local":"28/Apr/2025:12:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3e256c56-aeef-40c2-b723-5a61a9751f75 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"162620c27ebc0a8f0c2e1564638dbcaa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4c0c050-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/signaling 200 34ms","method":"POST","requestID":"f4c0c050-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3N30.wmQCUiRNjLnBbuQpf6G-bGr_uHxA5gGc7UAQG7OUkI0","level":"info","message":"auth send jwt","requestID":"6ce86a376669834b0077569ec6925301"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6ce86a376669834b0077569ec6925301","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3e256c56-aeef-40c2-b723-5a61a9751f75","requestID":"6ce86a376669834b0077569ec6925301"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.971982,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6ce86a376669834b0077569ec6925301","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841877,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3N30.wmQCUiRNjLnBbuQpf6G-bGr_uHxA5gGc7UAQG7OUkI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6ce86a376669834b0077569ec6925301","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Attempting to finish experiment","requestID":"6ce86a376669834b0077569ec6925301"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f4c77710-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.64986,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f4c77710-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841877,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3N30.wmQCUiRNjLnBbuQpf6G-bGr_uHxA5gGc7UAQG7OUkI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f4c77710-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01","device":"41b19906-3b39-4e1a-9e81-eb64c82890ed","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01","device":"b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","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/6e078fb4-1705-48f2-bba2-b306a58a5f01' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6e078fb4-1705-48f2-bba2-b306a58a5f01","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e078fb4-1705-48f2-bba2-b306a58a5f01': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e078fb4-1705-48f2-bba2-b306a58a5f01","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"f571fb3c-a9c5-4416-a1f9-819bd05af444","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.286127} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c76c4cb5ea70fb0ffec75e41f5b73bbe","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c76c4cb5ea70fb0ffec75e41f5b73bbe","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31d9bf98-e8a9-48cb-a447-fa04d7b098a4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.2864661} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"26d28fe119a832f558a8541164bc210b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5"},{"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/41b19906-3b39-4e1a-9e81-eb64c82890ed"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01"}}},"level":"info","message":"received a callback","requestID":"c76c4cb5ea70fb0ffec75e41f5b73bbe"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"f4c77710-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"26d28fe119a832f558a8541164bc210b","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/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5"},{"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/41b19906-3b39-4e1a-9e81-eb64c82890ed"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01"}}},"level":"info","message":"received a callback","requestID":"26d28fe119a832f558a8541164bc210b"} device-1 | {"data":{"peerconnection":"6e078fb4-1705-48f2-bba2-b306a58a5f01","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f4c77710-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01 204 86ms","method":"DELETE","requestID":"f4c77710-2428-11f0-a0e6-516e7b85a777","responseTime":86,"status":204,"url":"/peerconnections/6e078fb4-1705-48f2-bba2-b306a58a5f01"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"},"level":"info","message":"Successfully finished experiment","requestID":"6ce86a376669834b0077569ec6925301"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4d69240-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7c72793-50b5-4f45-a7ca-d7daab2fcaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ba3a67d-b4e2-4a95-b795-16d08bce6328","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.3523269} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.252053,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f4d69240-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5","object_type":"device","rebac_allow":false,"scope_allow":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":"f4d69240-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4d69240-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/signaling 200 33ms","method":"POST","requestID":"f4d69240-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e256c56-aeef-40c2-b723-5a61a9751f75': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e256c56-aeef-40c2-b723-5a61a9751f75","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"463fad4d-993a-40a2-8e8b-88ad6797af80","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.3828897} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4dbe970-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a381765-b625-40a6-99d7-6b06b0fa06af","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.3832073} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"6ce86a376669834b0077569ec6925301","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41b19906-3b39-4e1a-9e81-eb64c82890ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"301fae94-d418-4e4c-aadb-68bf0897e4d4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.3878992} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.751461,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f4dbe970-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4dbe970-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4dbe970-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/signaling 200 8ms","method":"POST","requestID":"f4dbe970-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3e256c56-aeef-40c2-b723-5a61a9751f75","requestID":"6ce86a376669834b0077569ec6925301"} gateway-1 | {"time_local":"28/Apr/2025:12:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3e256c56-aeef-40c2-b723-5a61a9751f75 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":"6ce86a376669834b0077569ec6925301"} experiment-1 | {"level":"info","message":"DELETE /experiments/3e256c56-aeef-40c2-b723-5a61a9751f75 204 242ms","method":"DELETE","requestID":"6ce86a376669834b0077569ec6925301","responseTime":242,"status":204,"url":"/experiments/3e256c56-aeef-40c2-b723-5a61a9751f75"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 198ms","method":"POST","requestID":"c76c4cb5ea70fb0ffec75e41f5b73bbe","responseTime":198,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch","requestID":"c76c4cb5ea70fb0ffec75e41f5b73bbe"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"26d28fe119a832f558a8541164bc210b","responseTime":199,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch","requestID":"26d28fe119a832f558a8541164bc210b"} gateway-1 | {"time_local":"28/Apr/2025:12:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"1.057","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d46f8dcfc7e9a462517837ca9e513431"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3N30.wmQCUiRNjLnBbuQpf6G-bGr_uHxA5gGc7UAQG7OUkI0","level":"info","message":"auth send jwt","requestID":"685c8aa0c41010ff70dec391a4af784e"} device-1 | {"level":"info","message":"postDevices called","requestID":"685c8aa0c41010ff70dec391a4af784e"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"685c8aa0c41010ff70dec391a4af784e","responseTime":10,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"1.054","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cfdb80d03cf5277c10e9c1b7a267c14b"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/41b19906-3b39-4e1a-9e81-eb64c82890ed' closed"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:37Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b7c72793-50b5-4f45-a7ca-d7daab2fcaf5' closed"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.777085,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"685c8aa0c41010ff70dec391a4af784e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841877,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3N30.wmQCUiRNjLnBbuQpf6G-bGr_uHxA5gGc7UAQG7OUkI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"685c8aa0c41010ff70dec391a4af784e","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e0ad2f0e-ca78-4468-aab4-b64deae05dc1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.537833} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"685c8aa0c41010ff70dec391a4af784e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e4ee700-c8ca-47de-9fb1-ac4772170a91","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.5418274} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"685c8aa0c41010ff70dec391a4af784e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"f6606075-6522-450c-8665-bf42ecabc313","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.5750947} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bee7fdf-5b02-4abd-bbe7-87eacdea6498","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.5750947} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"685c8aa0c41010ff70dec391a4af784e","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:37.575063588Z"}]},"request_id":"02e27cc6-25f1-4a39-8668-a61a3a862ef2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.5790863} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"685c8aa0c41010ff70dec391a4af784e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"685c8aa0c41010ff70dec391a4af784e"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"685c8aa0c41010ff70dec391a4af784e","responseTime":85,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"685c8aa0c41010ff70dec391a4af784e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3N30.wmQCUiRNjLnBbuQpf6G-bGr_uHxA5gGc7UAQG7OUkI0","level":"info","message":"auth send jwt","requestID":"7b49d066831b74a8078e361f79c7170a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7b49d066831b74a8078e361f79c7170a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7b49d066831b74a8078e361f79c7170a"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.372122,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7b49d066831b74a8078e361f79c7170a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841877,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg3N30.wmQCUiRNjLnBbuQpf6G-bGr_uHxA5gGc7UAQG7OUkI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7b49d066831b74a8078e361f79c7170a","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4d685572-7ed1-48a3-92ed-89e7c96e3655","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.6242523} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7b49d066831b74a8078e361f79c7170a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c45ad93b-8f7d-44bc-84bb-663f7b49679e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.6286101} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"7b49d066831b74a8078e361f79c7170a","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"7f8aa24a-2d8e-44cb-a353-4dc7f23a1e3e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.6382837} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f617fc1-d340-48b7-a312-aca68203db97","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.6384194} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"7b49d066831b74a8078e361f79c7170a","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:37.638261087Z"}]},"request_id":"3f7f1027-afe8-43a7-932e-e1851b501a08","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841877.6420467} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7b49d066831b74a8078e361f79c7170a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7b49d066831b74a8078e361f79c7170a"} gateway-1 | {"time_local":"28/Apr/2025:12:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b49d066831b74a8078e361f79c7170a"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"7b49d066831b74a8078e361f79c7170a","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7be39f37b859f6b105fa0927072e238e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7be39f37b859f6b105fa0927072e238e","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4e0972bfb4cc31867444a0695731de97","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/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":"7be39f37b859f6b105fa0927072e238e"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"4e0972bfb4cc31867444a0695731de97","responseTime":0,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/websocket 200 0ms","method":"OPTIONS","requestID":"7be39f37b859f6b105fa0927072e238e","responseTime":0,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/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":"4e0972bfb4cc31867444a0695731de97"} device-1 | {"level":"info","message":"OPTIONS /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/websocket 200 1ms","method":"OPTIONS","requestID":"4e0972bfb4cc31867444a0695731de97","responseTime":1,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I","level":"info","message":"auth send jwt","requestID":"7888fbd13cc9a5cfe42bf6c3849ee8f0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7888fbd13cc9a5cfe42bf6c3849ee8f0","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I","level":"info","message":"auth send jwt","requestID":"9a2a736763c530e9dd8acda7981b27ee"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7888fbd13cc9a5cfe42bf6c3849ee8f0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9a2a736763c530e9dd8acda7981b27ee","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9a2a736763c530e9dd8acda7981b27ee"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676252,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7888fbd13cc9a5cfe42bf6c3849ee8f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7888fbd13cc9a5cfe42bf6c3849ee8f0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659793,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9a2a736763c530e9dd8acda7981b27ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9a2a736763c530e9dd8acda7981b27ee","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9a2a736763c530e9dd8acda7981b27ee"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/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":"9a2a736763c530e9dd8acda7981b27ee"} device-1 | {"level":"info","message":"POST /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/websocket 200 8ms","method":"POST","requestID":"9a2a736763c530e9dd8acda7981b27ee","responseTime":8,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7888fbd13cc9a5cfe42bf6c3849ee8f0"} device-1 | {"level":"info","message":"POST /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/websocket 200 48ms","method":"POST","requestID":"7888fbd13cc9a5cfe42bf6c3849ee8f0","responseTime":48,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/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":"7888fbd13cc9a5cfe42bf6c3849ee8f0"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I","level":"info","message":"auth send jwt","requestID":"b96fea9a8c85d1797593d7e2d08fd00f"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"b96fea9a8c85d1797593d7e2d08fd00f","responseTime":31,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b96fea9a8c85d1797593d7e2d08fd00f"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651883,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"b96fea9a8c85d1797593d7e2d08fd00f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b96fea9a8c85d1797593d7e2d08fd00f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:37.575063588Z"}]},"request_id":"79fffba9-5501-4092-80b6-3829220bfffd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.1258152} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b96fea9a8c85d1797593d7e2d08fd00f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b96fea9a8c85d1797593d7e2d08fd00f"} device-1 | {"level":"info","message":"GET /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02? 200 11ms","method":"GET","requestID":"b96fea9a8c85d1797593d7e2d08fd00f","responseTime":11,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02? 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":"b96fea9a8c85d1797593d7e2d08fd00f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I","level":"info","message":"auth send jwt","requestID":"63c1b2d14d0f8e1703860cce74719064"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"63c1b2d14d0f8e1703860cce74719064","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"63c1b2d14d0f8e1703860cce74719064"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678853,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"63c1b2d14d0f8e1703860cce74719064","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"63c1b2d14d0f8e1703860cce74719064","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:37.638261087Z"}]},"request_id":"7dd8c8d9-fc5b-47c1-800c-22bae95ea386","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.1657662} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"63c1b2d14d0f8e1703860cce74719064","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"63c1b2d14d0f8e1703860cce74719064"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad? 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":"63c1b2d14d0f8e1703860cce74719064"} device-1 | {"level":"info","message":"GET /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad? 200 34ms","method":"GET","requestID":"63c1b2d14d0f8e1703860cce74719064","responseTime":34,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I","level":"info","message":"auth send jwt","requestID":"71f1df512e5939e612695c93aedd3bc3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"71f1df512e5939e612695c93aedd3bc3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"71f1df512e5939e612695c93aedd3bc3"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.644525,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"71f1df512e5939e612695c93aedd3bc3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"71f1df512e5939e612695c93aedd3bc3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Attempting to run experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Attempting to book experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Successfully booked experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f6955940-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f6958050-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950515,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6955940-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f6955940-2428-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.975687,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6958050-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f6958050-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:37.575063588Z"}]},"request_id":"01f13730-0e68-48b3-be4c-d3828e9f7c81","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.3099105} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f6955940-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:37.638261087Z"}]},"request_id":"3e2974de-0f6f-43e6-8b88-c5078f2d6a68","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.311111} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f6958050-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f6955940-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02? 200 39ms","method":"GET","requestID":"f6955940-2428-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f6958050-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad? 200 38ms","method":"GET","requestID":"f6958050-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Setting up experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Successfully locked booking for experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Attempting to update booking for experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Successfully updated booking for experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Successfully set up experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f6aab600-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f6aadd10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6ab0420-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:54694","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941412,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Successfully running experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6aab600-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f6aab600-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631849,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6aadd10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f6aadd10-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:37.638261087Z"}]},"request_id":"03e1323a-4384-4bb4-adcc-6611f83903d5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.426168} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f6aadd10-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:37.575063588Z"}]},"request_id":"4f945b70-4c01-4541-9340-8200d6eb9e0a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.42693} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f6aab600-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9b83884-e2b7-40d8-8184-1e0364278d5c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.4530826} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f6aadd10-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.009992,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} device-1 | {"level":"info","message":"GET /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad? 200 38ms","method":"GET","requestID":"f6aadd10-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f6aab600-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6ab0420-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","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/15d46cf5-808f-4fbc-ba25-8ff0000fde02? 200 40ms","method":"GET","requestID":"f6aab600-2428-11f0-a0e6-516e7b85a777","responseTime":40,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02?"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"f6ab0420-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F38709ba9-40a5-41ef-907b-9a9a14e58382#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F38709ba9-40a5-41ef-907b-9a9a14e58382","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"d1730f3a-5141-481a-adbf-b83c0cbd7785","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.4555948} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5089106-13f9-4fb6-94b5-205c6c1e3613","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.455839} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6ab0420-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"71f1df512e5939e612695c93aedd3bc3","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/signaling 200 40ms","method":"POST","requestID":"f6ab0420-2428-11f0-a0e6-516e7b85a777","responseTime":40,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6b145b0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6b1e1f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95d3f9cd-a1bd-4116-b011-4edba2ff3242","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.4636211} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.043519,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"71f1df512e5939e612695c93aedd3bc3"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.296","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71f1df512e5939e612695c93aedd3bc3"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6b145b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","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 292ms","method":"POST","requestID":"71f1df512e5939e612695c93aedd3bc3","responseTime":292,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f6b145b0-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0513c933-7b7c-4ef9-88d7-b88d7fb2b2a5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.468385} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.351266,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6b1e1f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","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":"f6b145b0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f6b1e1f0-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/signaling 200 11ms","method":"POST","requestID":"f6b145b0-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I","level":"info","message":"auth send jwt","requestID":"ef972028bf876e8bfdf6d3b47a3d8ab4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ef972028bf876e8bfdf6d3b47a3d8ab4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ef972028bf876e8bfdf6d3b47a3d8ab4"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6b76030-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.803817,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6b1e1f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ef972028bf876e8bfdf6d3b47a3d8ab4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} device-1 | {"level":"info","message":"POST /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/signaling 200 38ms","method":"POST","requestID":"f6b1e1f0-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ef972028bf876e8bfdf6d3b47a3d8ab4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:37.575063588Z"}]},"request_id":"78929b00-c03a-4e98-991d-19da76897f6a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.5042472} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac1ca104-330f-48b3-bba2-2ddfd72354f1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.5043664} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ef972028bf876e8bfdf6d3b47a3d8ab4","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.47139,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6b76030-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f6b76030-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ef972028bf876e8bfdf6d3b47a3d8ab4"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02? 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":"ef972028bf876e8bfdf6d3b47a3d8ab4"} device-1 | {"level":"info","message":"GET /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02? 200 13ms","method":"GET","requestID":"ef972028bf876e8bfdf6d3b47a3d8ab4","responseTime":13,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6b76030-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/signaling 200 12ms","method":"POST","requestID":"f6b76030-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Building connection plan","requestID":"71f1df512e5939e612695c93aedd3bc3"} 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":"42102a66-0ebc-4b79-9763-d3f3993e8832"},{"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":"944164f9-11af-46a4-97c3-5e05ba4d31f8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c5e5c27e-ff8b-4ddb-9e14-a8fc3804d0e2"}]},"level":"info","message":"Built pairwise service configurations","requestID":"71f1df512e5939e612695c93aedd3bc3"} 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/15d46cf5-808f-4fbc-ba25-8ff0000fde02"},{"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/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"71f1df512e5939e612695c93aedd3bc3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I","level":"info","message":"auth send jwt","requestID":"49b7edc18120a51dd2546e87fe6eb7a3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"49b7edc18120a51dd2546e87fe6eb7a3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f6b9d130-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"49b7edc18120a51dd2546e87fe6eb7a3"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.935894,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6b9d130-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f6b9d130-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.795487,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"49b7edc18120a51dd2546e87fe6eb7a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"49b7edc18120a51dd2546e87fe6eb7a3","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:37.638261087Z"}]},"request_id":"b6c065d0-4171-4bdf-8737-7315be2b4290","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.549296} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"49b7edc18120a51dd2546e87fe6eb7a3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"49b7edc18120a51dd2546e87fe6eb7a3"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad? 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":"49b7edc18120a51dd2546e87fe6eb7a3"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"c5568a7e-935e-470f-94a7-0c80d6573926","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.5531507} device-1 | {"level":"info","message":"GET /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad? 200 36ms","method":"GET","requestID":"49b7edc18120a51dd2546e87fe6eb7a3","responseTime":36,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c44f68f0-b442-48cd-8cb1-737d02a3bae5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.553327} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f6b9d130-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f6b9d130-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f6b9d130-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93'","requestID":"f6b9d130-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93'","requestID":"f6b9d130-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f6b9d130-2428-11f0-a0e6-516e7b85a777"} 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":"f6b9d130-2428-11f0-a0e6-516e7b85a777","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":"f6b9d130-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93","device":"15d46cf5-808f-4fbc-ba25-8ff0000fde02","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/1189acb3-fb93-4ff4-87b5-81a013416d93","device":"5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"71f1df512e5939e612695c93aedd3bc3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6cf7c10-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} device-1 | {"device":"5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55ba8e1a-ad56-4e50-bd26-28554b0bc982","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.6619349} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.951573,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6cf7c10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f6cf7c10-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6cf7c10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/signaling 200 33ms","method":"POST","requestID":"f6cf7c10-2428-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6d4d340-2428-11f0-a0e6-516e7b85a777"} device-1 | {"device":"15d46cf5-808f-4fbc-ba25-8ff0000fde02","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"15d46cf5-808f-4fbc-ba25-8ff0000fde02","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3849c775-898d-44fd-9f99-b5f61420ec39","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.697577} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.176841,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6d4d340-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","object_type":"device","rebac_allow":false,"scope_allow":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":"f6d4d340-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 701980447908280740 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:3nTu\r\na=ice-pwd:86sbKTm9+BuhQO2E1/2GY7Iv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5A:BD:7E:2C:25:40:0D:5B:12:ED:64:B1:E7:F1:09:30:87:F5:21:C3:DD:7D:C8:BA:8E:63:AA:F7:0F:47:87: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":"5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6d4d340-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/signaling 200 13ms","method":"POST","requestID":"f6d4d340-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7441486685558833472 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:9sGd\r\na=ice-pwd:3tVvYIzYySR9iNHKm65A1ejQ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 82:56:66:55:71:AD:9C:49:27:13:B4:2A:40:26:6D:F2:C4:0F:96:03:23:24:02:95:56:14:F0:10:F6:39:E3:4B\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"15d46cf5-808f-4fbc-ba25-8ff0000fde02","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:803031265 1 udp 2113937151 e58e1b85-ac2d-4607-b89c-7f72a63881af.local 56889 typ host generation 0 ufrag 9sGd network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"15d46cf5-808f-4fbc-ba25-8ff0000fde02","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:692875951 1 udp 2113937151 8e3d19b3-61b2-483e-ac63-076a780a2590.local 44471 typ host generation 0 ufrag 3nTu network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"15d46cf5-808f-4fbc-ba25-8ff0000fde02","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"15d46cf5-808f-4fbc-ba25-8ff0000fde02","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/1189acb3-fb93-4ff4-87b5-81a013416d93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1189acb3-fb93-4ff4-87b5-81a013416d93","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5f5138fb2a04cd331c5484abc59732b1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5f5138fb2a04cd331c5484abc59732b1","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"15d46cf5-808f-4fbc-ba25-8ff0000fde02","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02"},{"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/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93"}}},"level":"info","message":"received a callback","requestID":"5f5138fb2a04cd331c5484abc59732b1"} device-1 | {"device":"15d46cf5-808f-4fbc-ba25-8ff0000fde02","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"5f5138fb2a04cd331c5484abc59732b1","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"5f5138fb2a04cd331c5484abc59732b1"} device-1 | {"data":{"peerconnection":"1189acb3-fb93-4ff4-87b5-81a013416d93","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"1189acb3-fb93-4ff4-87b5-81a013416d93","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/1189acb3-fb93-4ff4-87b5-81a013416d93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1189acb3-fb93-4ff4-87b5-81a013416d93","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"659bb454c1ab16c96044730e989e8410","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"659bb454c1ab16c96044730e989e8410","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/15d46cf5-808f-4fbc-ba25-8ff0000fde02"},{"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/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93"}}},"level":"info","message":"received a callback","requestID":"659bb454c1ab16c96044730e989e8410"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f6ecc810-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1189acb3-fb93-4ff4-87b5-81a013416d93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f244b45-1e2a-434d-8e51-e0f838e106eb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.8548498} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.239244,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6ecc810-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f6ecc810-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93 200 9ms","method":"GET","requestID":"f6ecc810-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"f6ecc810-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I","level":"info","message":"auth send jwt","requestID":"a67661cb6e30e149c7b7b1f69ffeb401"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a67661cb6e30e149c7b7b1f69ffeb401","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/38709ba9-40a5-41ef-907b-9a9a14e58382","requestID":"a67661cb6e30e149c7b7b1f69ffeb401"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.744399,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a67661cb6e30e149c7b7b1f69ffeb401","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a67661cb6e30e149c7b7b1f69ffeb401","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"659bb454c1ab16c96044730e989e8410","responseTime":56,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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":"659bb454c1ab16c96044730e989e8410"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6f49040-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/38709ba9-40a5-41ef-907b-9a9a14e58382","requestID":"a67661cb6e30e149c7b7b1f69ffeb401"} gateway-1 | {"time_local":"28/Apr/2025:12:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/38709ba9-40a5-41ef-907b-9a9a14e58382 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a67661cb6e30e149c7b7b1f69ffeb401"} experiment-1 | {"level":"info","message":"GET /experiments/38709ba9-40a5-41ef-907b-9a9a14e58382 200 10ms","method":"GET","requestID":"a67661cb6e30e149c7b7b1f69ffeb401","responseTime":10,"status":200,"url":"/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c51d8b7-2e1c-4f81-bc4a-a9eee8931ddb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.9045641} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.545181,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6f49040-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f6f49040-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6f49040-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/signaling 200 8ms","method":"POST","requestID":"f6f49040-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I","level":"info","message":"auth send jwt","requestID":"1c434743778d20d10a7498667c9e3e26"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1c434743778d20d10a7498667c9e3e26","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6f99950-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/38709ba9-40a5-41ef-907b-9a9a14e58382","requestID":"1c434743778d20d10a7498667c9e3e26"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.632712,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1c434743778d20d10a7498667c9e3e26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1c434743778d20d10a7498667c9e3e26","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a6b331a-e27b-43f2-b838-2f83c0447bf9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.938368} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.388988,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6f99950-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f6f99950-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Attempting to finish experiment","requestID":"1c434743778d20d10a7498667c9e3e26"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6f99950-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/signaling 200 11ms","method":"POST","requestID":"f6f99950-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/signaling"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f6fb4700-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.914733,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f6fb4700-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841880,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MH0.x7QmV5HriegbYdcl8qmlmvb3SRl8HR1tQatIZ-UvD7I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f6fb4700-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93","device":"15d46cf5-808f-4fbc-ba25-8ff0000fde02","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93","device":"5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","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/1189acb3-fb93-4ff4-87b5-81a013416d93' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1189acb3-fb93-4ff4-87b5-81a013416d93","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1189acb3-fb93-4ff4-87b5-81a013416d93': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1189acb3-fb93-4ff4-87b5-81a013416d93","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"dae48318-128a-4c0b-8a8f-e8e757505bb1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.9825664} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd9f5fc5-2c03-4ecf-8485-a81b0958cb23","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841880.9828176} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"192e2d5fa023992dc23e00f382d04ae6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"192e2d5fa023992dc23e00f382d04ae6","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"f6fb4700-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f162028e09c52afd27b76e49749fe81a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02"},{"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/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93"}}},"level":"info","message":"received a callback","requestID":"192e2d5fa023992dc23e00f382d04ae6"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f162028e09c52afd27b76e49749fe81a","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/15d46cf5-808f-4fbc-ba25-8ff0000fde02"},{"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/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93"}}},"level":"info","message":"received a callback","requestID":"f162028e09c52afd27b76e49749fe81a"} device-1 | {"data":{"peerconnection":"1189acb3-fb93-4ff4-87b5-81a013416d93","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f6fb4700-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93 204 96ms","method":"DELETE","requestID":"f6fb4700-2428-11f0-a0e6-516e7b85a777","responseTime":96,"status":204,"url":"/peerconnections/1189acb3-fb93-4ff4-87b5-81a013416d93"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"},"level":"info","message":"Successfully finished experiment","requestID":"1c434743778d20d10a7498667c9e3e26"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f7100780-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:41Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15d46cf5-808f-4fbc-ba25-8ff0000fde02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e91230c5-953d-40a9-ab79-58d44d70629d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.0848303} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.453559,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f7100780-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f7100780-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f7100780-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/signaling 200 8ms","method":"POST","requestID":"f7100780-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f711b530-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F38709ba9-40a5-41ef-907b-9a9a14e58382': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F38709ba9-40a5-41ef-907b-9a9a14e58382","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"af3fa9e2-52a2-4d83-b660-5b536bf34b43","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.0928352} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32b59bab-35f9-42bc-b59a-fa2df8d8c2fb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.0931756} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:41Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"1c434743778d20d10a7498667c9e3e26","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"099398bf-17d9-45c6-adb0-157ac35a3e7a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.0956376} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.725877,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f711b530-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad","object_type":"device","rebac_allow":false,"scope_allow":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":"f711b530-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f711b530-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/signaling 200 34ms","method":"POST","requestID":"f711b530-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/38709ba9-40a5-41ef-907b-9a9a14e58382","requestID":"1c434743778d20d10a7498667c9e3e26"} gateway-1 | {"time_local":"28/Apr/2025:12:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/38709ba9-40a5-41ef-907b-9a9a14e58382 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.293","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c434743778d20d10a7498667c9e3e26"} experiment-1 | {"level":"info","message":"DELETE /experiments/38709ba9-40a5-41ef-907b-9a9a14e58382 204 289ms","method":"DELETE","requestID":"1c434743778d20d10a7498667c9e3e26","responseTime":289,"status":204,"url":"/experiments/38709ba9-40a5-41ef-907b-9a9a14e58382"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 241ms","method":"POST","requestID":"192e2d5fa023992dc23e00f382d04ae6","responseTime":241,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.244","http_referrer":"","http_user_agent":"node-fetch","requestID":"192e2d5fa023992dc23e00f382d04ae6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 241ms","method":"POST","requestID":"f162028e09c52afd27b76e49749fe81a","responseTime":241,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.245","http_referrer":"","http_user_agent":"node-fetch","requestID":"f162028e09c52afd27b76e49749fe81a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MX0.URxdeRIGfkMD-xU31-SLrTxYjs-zqhAwHjWEh1KsYB4","level":"info","message":"auth send jwt","requestID":"eead44b11ba5db2f13dd10637dcaa1c5"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"eead44b11ba5db2f13dd10637dcaa1c5","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"eead44b11ba5db2f13dd10637dcaa1c5"} gateway-1 | {"time_local":"28/Apr/2025:12:04:41 +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.168","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f357f37ca435573cfdd5f9ec14d160f7"} gateway-1 | {"time_local":"28/Apr/2025:12:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"1.153","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fb79af87b43a1e93b6b5c15d0e24be04"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.789554,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:41Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5da6e2fd-1b7e-41ef-a44e-33e47edbb9ad' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"eead44b11ba5db2f13dd10637dcaa1c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841881,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MX0.URxdeRIGfkMD-xU31-SLrTxYjs-zqhAwHjWEh1KsYB4"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"eead44b11ba5db2f13dd10637dcaa1c5","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/15d46cf5-808f-4fbc-ba25-8ff0000fde02' 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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3cad0310-aef1-46ba-9281-553992a67d7c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.2772038} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eead44b11ba5db2f13dd10637dcaa1c5","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3277bcc-c8b0-4360-85c8-013918bc8124","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.2808673} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"eead44b11ba5db2f13dd10637dcaa1c5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"cf773dc2-2432-4c28-9cb7-6d8c216d7d3c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.2887082} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd848443-547d-4585-8de9-6a647e711a0e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.3131056} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"eead44b11ba5db2f13dd10637dcaa1c5","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.288682289Z"}]},"request_id":"bc80f830-3507-430c-b831-74d987bfcbaa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.3166218} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eead44b11ba5db2f13dd10637dcaa1c5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"eead44b11ba5db2f13dd10637dcaa1c5"} gateway-1 | {"time_local":"28/Apr/2025:12:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eead44b11ba5db2f13dd10637dcaa1c5"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"eead44b11ba5db2f13dd10637dcaa1c5","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MX0.URxdeRIGfkMD-xU31-SLrTxYjs-zqhAwHjWEh1KsYB4","level":"info","message":"auth send jwt","requestID":"b4271683d2c1f3c91a1576f47fe5387a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b4271683d2c1f3c91a1576f47fe5387a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b4271683d2c1f3c91a1576f47fe5387a"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.6538,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"b4271683d2c1f3c91a1576f47fe5387a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841881,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4MX0.URxdeRIGfkMD-xU31-SLrTxYjs-zqhAwHjWEh1KsYB4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b4271683d2c1f3c91a1576f47fe5387a","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8a625a6d-edb4-46af-8bb2-a1d73b8ca967","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.3379898} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b4271683d2c1f3c91a1576f47fe5387a","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cde2c1a4-c334-4382-bd2e-e5d67eb82a86","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.366313} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"b4271683d2c1f3c91a1576f47fe5387a","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"513d57f3-c109-4806-ac00-7a75118faf53","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.3786318} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a2805dd-beb5-41ac-979c-6d58f05d29c3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.3787417} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"b4271683d2c1f3c91a1576f47fe5387a","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.378599083Z"}]},"request_id":"7b8df428-df03-4916-bff5-1764fd7c4ff4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841881.3825269} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b4271683d2c1f3c91a1576f47fe5387a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b4271683d2c1f3c91a1576f47fe5387a"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"b4271683d2c1f3c91a1576f47fe5387a","responseTime":61,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4271683d2c1f3c91a1576f47fe5387a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Mn0.ym20xLDTMEdT9uo0QPOFE2Y4xqqZhC7OnBcpIaB7ELM","level":"info","message":"auth send jwt","requestID":"d50986fd0b1b1d87cb0f161ef77ef063"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d50986fd0b1b1d87cb0f161ef77ef063","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d50986fd0b1b1d87cb0f161ef77ef063"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65816,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d50986fd0b1b1d87cb0f161ef77ef063","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841882,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Mn0.ym20xLDTMEdT9uo0QPOFE2Y4xqqZhC7OnBcpIaB7ELM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d50986fd0b1b1d87cb0f161ef77ef063","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.378599083Z"}]},"request_id":"7aca632c-9f5e-4f6e-ab45-ed0d12031a73","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841882.3317816} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d50986fd0b1b1d87cb0f161ef77ef063","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2dd3cf74-c71d-4678-9045-8ba381462928","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841882.3356311} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"d50986fd0b1b1d87cb0f161ef77ef063","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.378599083Z"}]},"request_id":"c18f8616-c7a9-4471-bb59-bca4e6dfce7d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841882.376341} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d50986fd0b1b1d87cb0f161ef77ef063","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d50986fd0b1b1d87cb0f161ef77ef063"} gateway-1 | {"time_local":"28/Apr/2025:12:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/01982394-8ac0-4f2f-a923-723550c05a2e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d50986fd0b1b1d87cb0f161ef77ef063"} device-1 | {"level":"info","message":"PATCH /devices/01982394-8ac0-4f2f-a923-723550c05a2e 200 54ms","method":"PATCH","requestID":"d50986fd0b1b1d87cb0f161ef77ef063","responseTime":54,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Mn0.ym20xLDTMEdT9uo0QPOFE2Y4xqqZhC7OnBcpIaB7ELM","level":"info","message":"auth send jwt","requestID":"ecc055aaf5edd38106b7840a1a4ca3db"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ecc055aaf5edd38106b7840a1a4ca3db","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ecc055aaf5edd38106b7840a1a4ca3db"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682347,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ecc055aaf5edd38106b7840a1a4ca3db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841882,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Mn0.ym20xLDTMEdT9uo0QPOFE2Y4xqqZhC7OnBcpIaB7ELM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ecc055aaf5edd38106b7840a1a4ca3db","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ecc055aaf5edd38106b7840a1a4ca3db"} gateway-1 | {"time_local":"28/Apr/2025:12:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/01982394-8ac0-4f2f-a923-723550c05a2e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ecc055aaf5edd38106b7840a1a4ca3db"} device-1 | {"level":"info","message":"POST /devices/01982394-8ac0-4f2f-a923-723550c05a2e/websocket 200 39ms","method":"POST","requestID":"ecc055aaf5edd38106b7840a1a4ca3db","responseTime":39,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eddc11f6e2570f6ffec1f0b6dc299197","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eddc11f6e2570f6ffec1f0b6dc299197","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/43f20cec-aff1-4053-bc7c-9164611f52b7/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":"eddc11f6e2570f6ffec1f0b6dc299197"} device-1 | {"level":"info","message":"OPTIONS /devices/43f20cec-aff1-4053-bc7c-9164611f52b7/websocket 200 1ms","method":"OPTIONS","requestID":"eddc11f6e2570f6ffec1f0b6dc299197","responseTime":1,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI","level":"info","message":"auth send jwt","requestID":"277731ebf20625511134b20fd69eac3d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"277731ebf20625511134b20fd69eac3d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"277731ebf20625511134b20fd69eac3d"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684045,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"277731ebf20625511134b20fd69eac3d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841883,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"277731ebf20625511134b20fd69eac3d","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"277731ebf20625511134b20fd69eac3d"} device-1 | {"level":"info","message":"POST /devices/43f20cec-aff1-4053-bc7c-9164611f52b7/websocket 200 47ms","method":"POST","requestID":"277731ebf20625511134b20fd69eac3d","responseTime":47,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:04:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/43f20cec-aff1-4053-bc7c-9164611f52b7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.050","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"277731ebf20625511134b20fd69eac3d"} device-1 | {"level":"info","message":"device 'http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI","level":"info","message":"auth send jwt","requestID":"1b88b2aa2145364c5c5201cd9025996b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1b88b2aa2145364c5c5201cd9025996b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1b88b2aa2145364c5c5201cd9025996b"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658594,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1b88b2aa2145364c5c5201cd9025996b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841883,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1b88b2aa2145364c5c5201cd9025996b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.288682289Z"}]},"request_id":"5355184b-c73c-4788-91cf-2049a100739f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841883.8161201} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1b88b2aa2145364c5c5201cd9025996b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1b88b2aa2145364c5c5201cd9025996b"} gateway-1 | {"time_local":"28/Apr/2025:12:04:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/43f20cec-aff1-4053-bc7c-9164611f52b7? 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":"1b88b2aa2145364c5c5201cd9025996b"} device-1 | {"level":"info","message":"GET /devices/43f20cec-aff1-4053-bc7c-9164611f52b7? 200 10ms","method":"GET","requestID":"1b88b2aa2145364c5c5201cd9025996b","responseTime":10,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI","level":"info","message":"auth send jwt","requestID":"5152383143965bd74dbf8e281671ae9d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5152383143965bd74dbf8e281671ae9d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5152383143965bd74dbf8e281671ae9d"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683677,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5152383143965bd74dbf8e281671ae9d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841883,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5152383143965bd74dbf8e281671ae9d","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.378599083Z"}]},"request_id":"06842861-5bd4-4226-acda-e6d4970e6a6d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841883.8294454} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5152383143965bd74dbf8e281671ae9d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5152383143965bd74dbf8e281671ae9d"} gateway-1 | {"time_local":"28/Apr/2025:12:04:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01982394-8ac0-4f2f-a923-723550c05a2e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5152383143965bd74dbf8e281671ae9d"} device-1 | {"level":"info","message":"GET /devices/01982394-8ac0-4f2f-a923-723550c05a2e? 200 9ms","method":"GET","requestID":"5152383143965bd74dbf8e281671ae9d","responseTime":9,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI","level":"info","message":"auth send jwt","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8e1c1fab71d0ae024eaf8051cca99751","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.635969,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8e1c1fab71d0ae024eaf8051cca99751","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841883,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8e1c1fab71d0ae024eaf8051cca99751","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Attempting to run experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Attempting to book experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Successfully booked experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f8c24b60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f8c27270-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.585334,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8c24b60-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841883,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"f8c24b60-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.288682289Z"}]},"request_id":"e3ee7e27-c8f9-469f-a4f5-a7dde44da4c1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841883.9577222} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.015811,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8c27270-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841883,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f8c27270-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f8c24b60-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.378599083Z"}]},"request_id":"f2cdfd01-a024-4a63-9a3b-1432751c9f9a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841883.9614532} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f8c24b60-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/43f20cec-aff1-4053-bc7c-9164611f52b7? 200 36ms","method":"GET","requestID":"f8c24b60-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f8c27270-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f8c27270-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/01982394-8ac0-4f2f-a923-723550c05a2e? 200 37ms","method":"GET","requestID":"f8c27270-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Setting up experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Successfully locked booking for experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Attempting to update booking for experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Successfully updated booking for experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Successfully set up experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f8d62180-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f8d64890-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8d66fa0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.718663,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8d62180-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841883,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Successfully running experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f8d62180-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.843476,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8d64890-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841883,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f8d64890-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2c7ab84-41da-4373-819b-26533adc2540","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.0646222} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.00039,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8d66fa0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f8d66fa0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.378599083Z"}]},"request_id":"247b4929-fb8c-4301-a1ee-0c0b08178c54","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.0660307} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f8d64890-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.288682289Z"}]},"request_id":"136cdbf1-2f58-46f5-a57b-b5be270e1df0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.0683308} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f8d62180-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8d66fa0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/43f20cec-aff1-4053-bc7c-9164611f52b7/signaling 200 12ms","method":"POST","requestID":"f8d66fa0-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7/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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ccda5387-19ff-46ef-80cc-a4969232d6ef","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.0729902} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F887ee946-a213-4040-aed2-1c8e17ac7e14#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F887ee946-a213-4040-aed2-1c8e17ac7e14","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"2eb3fb79-4562-4d9c-a0f1-4afa56befea3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.0969586} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8dc6310-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"8e1c1fab71d0ae024eaf8051cca99751","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f8d64890-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/01982394-8ac0-4f2f-a923-723550c05a2e? 200 43ms","method":"GET","requestID":"f8d64890-2428-11f0-a0e6-516e7b85a777","responseTime":43,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e?"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f8d62180-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/43f20cec-aff1-4053-bc7c-9164611f52b7? 200 45ms","method":"GET","requestID":"f8d62180-2428-11f0-a0e6-516e7b85a777","responseTime":45,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c97fac8-2625-4624-bb8e-e3c8931c13e9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.1030416} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.236349,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8dc6310-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","object_type":"device","rebac_allow":false,"scope_allow":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":"f8dc6310-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8dd7480-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 247ms","method":"POST","requestID":"8e1c1fab71d0ae024eaf8051cca99751","responseTime":247,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8dc6310-2428-11f0-a0e6-516e7b85a777"} gateway-1 | {"time_local":"28/Apr/2025:12:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.251","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} device-1 | {"level":"info","message":"POST /devices/01982394-8ac0-4f2f-a923-723550c05a2e/signaling 200 12ms","method":"POST","requestID":"f8dc6310-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d12eb987-6c1c-4501-b8c1-bae7a298015d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.1097517} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.453119,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8dd7480-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f8dd7480-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4NH0.2ThMYGxi3CEsJbiXakgMKL0priDgG7ZpNtT2DfiqkEc","level":"info","message":"auth send jwt","requestID":"c66028d80dfda6592bc2807ac8d0bac6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c66028d80dfda6592bc2807ac8d0bac6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c66028d80dfda6592bc2807ac8d0bac6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8dd7480-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/43f20cec-aff1-4053-bc7c-9164611f52b7/signaling 200 12ms","method":"POST","requestID":"f8dd7480-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7/signaling"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926932,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c66028d80dfda6592bc2807ac8d0bac6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841884,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4NH0.2ThMYGxi3CEsJbiXakgMKL0priDgG7ZpNtT2DfiqkEc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c66028d80dfda6592bc2807ac8d0bac6","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8df9760-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.288682289Z"}]},"request_id":"f9dd5bf4-8eef-4596-a044-0228986f8a92","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.1473894} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6238548e-b1fe-411d-b25d-2a617383c386","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.1475117} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c66028d80dfda6592bc2807ac8d0bac6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.829126,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8df9760-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","object_type":"device","rebac_allow":false,"scope_allow":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":"f8df9760-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c66028d80dfda6592bc2807ac8d0bac6"} gateway-1 | {"time_local":"28/Apr/2025:12:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/43f20cec-aff1-4053-bc7c-9164611f52b7? 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":"c66028d80dfda6592bc2807ac8d0bac6"} device-1 | {"level":"info","message":"GET /devices/43f20cec-aff1-4053-bc7c-9164611f52b7? 200 37ms","method":"GET","requestID":"c66028d80dfda6592bc2807ac8d0bac6","responseTime":37,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8df9760-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/01982394-8ac0-4f2f-a923-723550c05a2e/signaling 200 34ms","method":"POST","requestID":"f8df9760-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Building connection plan","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} 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":"3c8a9d1b-eeea-44b6-8c8d-1a58762db884"},{"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":"003d940a-3cf2-48be-bfe7-fddbae22df6b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"12f7ec49-2b72-4e86-acad-cc89f9d8b784"}]},"level":"info","message":"Built pairwise service configurations","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} 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/01982394-8ac0-4f2f-a923-723550c05a2e"},{"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/43f20cec-aff1-4053-bc7c-9164611f52b7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f8e53cb0-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4NH0.2ThMYGxi3CEsJbiXakgMKL0priDgG7ZpNtT2DfiqkEc","level":"info","message":"auth send jwt","requestID":"7f31f280236bfacf84736d4c3dee7b99"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7f31f280236bfacf84736d4c3dee7b99","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7f31f280236bfacf84736d4c3dee7b99"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33316","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.62026,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8e53cb0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841883,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4M30.CQtkkSY93yBz53Id3aF8HV1s1rAvBqDfeAepJOCh0zI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f8e53cb0-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.577554,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7f31f280236bfacf84736d4c3dee7b99","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841884,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4NH0.2ThMYGxi3CEsJbiXakgMKL0priDgG7ZpNtT2DfiqkEc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7f31f280236bfacf84736d4c3dee7b99","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:41.378599083Z"}]},"request_id":"ac6e4b96-8a3b-4684-b724-febaf0a6b57e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.1619828} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7f31f280236bfacf84736d4c3dee7b99","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7f31f280236bfacf84736d4c3dee7b99"} device-1 | {"level":"info","message":"GET /devices/01982394-8ac0-4f2f-a923-723550c05a2e? 200 9ms","method":"GET","requestID":"7f31f280236bfacf84736d4c3dee7b99","responseTime":9,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01982394-8ac0-4f2f-a923-723550c05a2e? 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":"7f31f280236bfacf84736d4c3dee7b99"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"f9300810-043d-4bab-85d1-b77137aa02fc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.1672928} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a7fd465-6f78-490d-bf40-17e1bf522b98","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.1675882} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"f8e53cb0-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f8e53cb0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f8e53cb0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851'","requestID":"f8e53cb0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851'","requestID":"f8e53cb0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f8e53cb0-2428-11f0-a0e6-516e7b85a777"} 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":"f8e53cb0-2428-11f0-a0e6-516e7b85a777","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":"f8e53cb0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851","device":"43f20cec-aff1-4053-bc7c-9164611f52b7","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/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"8e1c1fab71d0ae024eaf8051cca99751"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8f5b770-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} device-1 | {"device":"43f20cec-aff1-4053-bc7c-9164611f52b7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"43f20cec-aff1-4053-bc7c-9164611f52b7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e43b2484-d375-4ec4-a609-1c1ab6af4d9b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.2925332} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.231652,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8f5b770-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","object_type":"device","rebac_allow":false,"scope_allow":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":"f8f5b770-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 4445490487354885910 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:CzWV\r\na=ice-pwd:DROGr/qCacv3tMu3YxrtAO7o\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F0:DA:F2:CC:80:95:0E:80:40:4F:1D:30:7C:49:70:D8:18:DB:69:B9:46:5F:62:44:CF:3B:34:CB:AE:28:C5:25\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"43f20cec-aff1-4053-bc7c-9164611f52b7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8f5b770-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/43f20cec-aff1-4053-bc7c-9164611f52b7/signaling 200 36ms","method":"POST","requestID":"f8f5b770-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8fb83d0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22d5bfad-d1c5-46a5-9966-af0adfc1206d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841884.3061225} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.880534,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f8fb83d0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f8fb83d0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8fb83d0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/01982394-8ac0-4f2f-a923-723550c05a2e/signaling 200 9ms","method":"POST","requestID":"f8fb83d0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e/signaling"} device-1 | {"device":"43f20cec-aff1-4053-bc7c-9164611f52b7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"01982394-8ac0-4f2f-a923-723550c05a2e","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":"f176d2f7-8190-43bd-be28-4d2647cf2851","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"01982394-8ac0-4f2f-a923-723550c05a2e","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":"01982394-8ac0-4f2f-a923-723550c05a2e","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":"01982394-8ac0-4f2f-a923-723550c05a2e","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":"01982394-8ac0-4f2f-a923-723550c05a2e","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/f176d2f7-8190-43bd-be28-4d2647cf2851' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f176d2f7-8190-43bd-be28-4d2647cf2851","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"76600024e6521614bdda9deae76a1d76","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"76600024e6521614bdda9deae76a1d76","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e"},{"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/43f20cec-aff1-4053-bc7c-9164611f52b7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851"}}},"level":"info","message":"received a callback","requestID":"76600024e6521614bdda9deae76a1d76"} device-1 | {"content":{"candidate":"candidate:1780850220 1 udp 2113937151 0ea2bd25-9368-4839-8b92-3b0d88cdffce.local 34213 typ host generation 0 ufrag CzWV network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"43f20cec-aff1-4053-bc7c-9164611f52b7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"43f20cec-aff1-4053-bc7c-9164611f52b7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"76600024e6521614bdda9deae76a1d76"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"76600024e6521614bdda9deae76a1d76","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"f176d2f7-8190-43bd-be28-4d2647cf2851","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"01982394-8ac0-4f2f-a923-723550c05a2e","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":"43f20cec-aff1-4053-bc7c-9164611f52b7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"01982394-8ac0-4f2f-a923-723550c05a2e","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":"f176d2f7-8190-43bd-be28-4d2647cf2851","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/f176d2f7-8190-43bd-be28-4d2647cf2851' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f176d2f7-8190-43bd-be28-4d2647cf2851","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"844a1f3142949bf8d15b980513b5941b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"844a1f3142949bf8d15b980513b5941b","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e"},{"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/43f20cec-aff1-4053-bc7c-9164611f52b7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851"}}},"level":"info","message":"received a callback","requestID":"844a1f3142949bf8d15b980513b5941b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"fa37fb70-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff176d2f7-8190-43bd-be28-4d2647cf2851","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f99cb5a3-5443-471d-b2fa-9c14af09d209","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.4034843} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.527801,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fa37fb70-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851","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":"fa37fb70-2428-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"fa37fb70-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851 200 32ms","method":"GET","requestID":"fa37fb70-2428-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"844a1f3142949bf8d15b980513b5941b","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"844a1f3142949bf8d15b980513b5941b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fa3f2760-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1242c5e-0f6c-45bb-9549-6942e2c32c24","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.4263098} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.979987,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fa3f2760-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","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":"fa3f2760-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/01982394-8ac0-4f2f-a923-723550c05a2e/signaling 200 28ms","method":"POST","requestID":"fa3f2760-2428-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fa3f2760-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fa43bb40-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f03dd0c-4365-42bc-b29f-e37e64567076","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.4598446} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.140554,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fa43bb40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fa43bb40-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fa43bb40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/43f20cec-aff1-4053-bc7c-9164611f52b7/signaling 200 13ms","method":"POST","requestID":"fa43bb40-2428-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Nn0.szCecQOxX8X85I4YJ-aryjW8vTwryFNOnhM1Fo4f3lA","level":"info","message":"auth send jwt","requestID":"8a83fa999835cecc56b31edd1e5a8f35"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"8a83fa999835cecc56b31edd1e5a8f35","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/887ee946-a213-4040-aed2-1c8e17ac7e14","requestID":"8a83fa999835cecc56b31edd1e5a8f35"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.934026,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"8a83fa999835cecc56b31edd1e5a8f35","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841886,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Nn0.szCecQOxX8X85I4YJ-aryjW8vTwryFNOnhM1Fo4f3lA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8a83fa999835cecc56b31edd1e5a8f35","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/887ee946-a213-4040-aed2-1c8e17ac7e14","requestID":"8a83fa999835cecc56b31edd1e5a8f35"} experiment-1 | {"level":"info","message":"GET /experiments/887ee946-a213-4040-aed2-1c8e17ac7e14 200 35ms","method":"GET","requestID":"8a83fa999835cecc56b31edd1e5a8f35","responseTime":35,"status":200,"url":"/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"} gateway-1 | {"time_local":"28/Apr/2025:12:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/887ee946-a213-4040-aed2-1c8e17ac7e14 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a83fa999835cecc56b31edd1e5a8f35"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Nn0.szCecQOxX8X85I4YJ-aryjW8vTwryFNOnhM1Fo4f3lA","level":"info","message":"auth send jwt","requestID":"9484809cf0c2923b848875f6fd22ed43"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9484809cf0c2923b848875f6fd22ed43","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/887ee946-a213-4040-aed2-1c8e17ac7e14","requestID":"9484809cf0c2923b848875f6fd22ed43"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.654629,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9484809cf0c2923b848875f6fd22ed43","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841886,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Nn0.szCecQOxX8X85I4YJ-aryjW8vTwryFNOnhM1Fo4f3lA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9484809cf0c2923b848875f6fd22ed43","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Attempting to finish experiment","requestID":"9484809cf0c2923b848875f6fd22ed43"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:46Z"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"fa51ec10-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.589638,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fa51ec10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841886,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Nn0.szCecQOxX8X85I4YJ-aryjW8vTwryFNOnhM1Fo4f3lA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fa51ec10-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851","device":"43f20cec-aff1-4053-bc7c-9164611f52b7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"01982394-8ac0-4f2f-a923-723550c05a2e","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":"01982394-8ac0-4f2f-a923-723550c05a2e","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":"01982394-8ac0-4f2f-a923-723550c05a2e","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/f176d2f7-8190-43bd-be28-4d2647cf2851' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f176d2f7-8190-43bd-be28-4d2647cf2851","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff176d2f7-8190-43bd-be28-4d2647cf2851': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff176d2f7-8190-43bd-be28-4d2647cf2851","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"0244a274-dee1-4775-a298-8db88d901b31","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.5639496} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30665533-219e-41d0-92e8-571792ac2e3c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.5653203} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"fa51ec10-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"abe88db0c3e1e707434a6f0971124fae","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"connected","url":"http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e"},{"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/43f20cec-aff1-4053-bc7c-9164611f52b7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851"}}},"level":"info","message":"received a callback","requestID":"abe88db0c3e1e707434a6f0971124fae"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"abe88db0c3e1e707434a6f0971124fae","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"132329ae16848bb0714005aae565c025","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"132329ae16848bb0714005aae565c025","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/01982394-8ac0-4f2f-a923-723550c05a2e"},{"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/43f20cec-aff1-4053-bc7c-9164611f52b7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851"}}},"level":"info","message":"received a callback","requestID":"132329ae16848bb0714005aae565c025"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"fa51ec10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851 204 97ms","method":"DELETE","requestID":"fa51ec10-2428-11f0-a0e6-516e7b85a777","responseTime":97,"status":204,"url":"/peerconnections/f176d2f7-8190-43bd-be28-4d2647cf2851"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"},"level":"info","message":"Successfully finished experiment","requestID":"9484809cf0c2923b848875f6fd22ed43"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fa62dc00-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01982394-8ac0-4f2f-a923-723550c05a2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14e18d97-7ab3-4d57-8577-c730d825ce9a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.6602466} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.349752,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fa62dc00-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fa62dc00-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fa62dc00-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/01982394-8ac0-4f2f-a923-723550c05a2e/signaling 200 8ms","method":"POST","requestID":"fa62dc00-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/01982394-8ac0-4f2f-a923-723550c05a2e/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F887ee946-a213-4040-aed2-1c8e17ac7e14': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F887ee946-a213-4040-aed2-1c8e17ac7e14","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"6257ff32-c790-4310-b0d6-c35b70817f8b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.6889226} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c082eb4d-fb86-4d25-a7bd-0165d6798a29","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.689482} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fa683330-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"9484809cf0c2923b848875f6fd22ed43","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f20cec-aff1-4053-bc7c-9164611f52b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d7cf380-ef20-492b-95c5-0ae6547e06d3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.6953816} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.314664,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fa683330-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fa683330-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fa683330-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/43f20cec-aff1-4053-bc7c-9164611f52b7/signaling 200 9ms","method":"POST","requestID":"fa683330-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/43f20cec-aff1-4053-bc7c-9164611f52b7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/887ee946-a213-4040-aed2-1c8e17ac7e14","requestID":"9484809cf0c2923b848875f6fd22ed43"} gateway-1 | {"time_local":"28/Apr/2025:12:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/887ee946-a213-4040-aed2-1c8e17ac7e14 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.282","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9484809cf0c2923b848875f6fd22ed43"} experiment-1 | {"level":"info","message":"DELETE /experiments/887ee946-a213-4040-aed2-1c8e17ac7e14 204 279ms","method":"DELETE","requestID":"9484809cf0c2923b848875f6fd22ed43","responseTime":279,"status":204,"url":"/experiments/887ee946-a213-4040-aed2-1c8e17ac7e14"} gateway-1 | {"time_local":"28/Apr/2025:12:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"4.367","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a9c82c26537120994d9f519c677b2db7"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/01982394-8ac0-4f2f-a923-723550c05a2e' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"abe88db0c3e1e707434a6f0971124fae","responseTime":199,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.228","http_referrer":"","http_user_agent":"node-fetch","requestID":"abe88db0c3e1e707434a6f0971124fae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Nn0.szCecQOxX8X85I4YJ-aryjW8vTwryFNOnhM1Fo4f3lA","level":"info","message":"auth send jwt","requestID":"fc7c1c60ed869f289912d435fdcf9930"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 196ms","method":"POST","requestID":"132329ae16848bb0714005aae565c025","responseTime":196,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fc7c1c60ed869f289912d435fdcf9930","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.228","http_referrer":"","http_user_agent":"node-fetch","requestID":"132329ae16848bb0714005aae565c025"} device-1 | {"level":"info","message":"postDevices called","requestID":"fc7c1c60ed869f289912d435fdcf9930"} gateway-1 | {"time_local":"28/Apr/2025:12:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2746","request_time":"3.024","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0c07400c1a03ad887ad95d9f371876fc"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/43f20cec-aff1-4053-bc7c-9164611f52b7' closed"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.786038,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc7c1c60ed869f289912d435fdcf9930","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841886,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Nn0.szCecQOxX8X85I4YJ-aryjW8vTwryFNOnhM1Fo4f3lA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fc7c1c60ed869f289912d435fdcf9930","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fc2c3c8e-fe36-47ae-864b-30b77b788846","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.8398433} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fc7c1c60ed869f289912d435fdcf9930","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c75db45c-4853-40d7-9736-e2e5494b84fd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.8442733} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"fc7c1c60ed869f289912d435fdcf9930","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"644f18f1-beef-402d-8189-6b03e02b905b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.8564148} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7f942b0-9ea1-46c3-85f3-1d1cd7fcf635","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.8565087} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"fc7c1c60ed869f289912d435fdcf9930","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.856381703Z"}]},"request_id":"3c511fc9-73e7-4e86-adfd-9ccb04a92d27","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.8852303} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fc7c1c60ed869f289912d435fdcf9930","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fc7c1c60ed869f289912d435fdcf9930"} gateway-1 | {"time_local":"28/Apr/2025:12:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc7c1c60ed869f289912d435fdcf9930"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"fc7c1c60ed869f289912d435fdcf9930","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Nn0.szCecQOxX8X85I4YJ-aryjW8vTwryFNOnhM1Fo4f3lA","level":"info","message":"auth send jwt","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.862798,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841886,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4Nn0.szCecQOxX8X85I4YJ-aryjW8vTwryFNOnhM1Fo4f3lA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"771b4124-9b8e-4abf-a0cc-04de64aa433d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.932246} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0714a482-9c91-4c38-8ed4-6d7e61d83df5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.9366896} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"765d6186-51d6-4370-a51f-9998064f9dc8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.9470296} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"315e8b8c-624e-44a6-b703-7c4066a043a5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.9472253} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.946993383Z"}]},"request_id":"845a1bba-c70e-490b-91e7-4ac18cdbdf98","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841886.9512548} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc","responseTime":60,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"842af0a35c5e6ce1a9d0faf97e2c34cc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4N30.OENQ8ADGWgcv3rQz2pS9k8GI4ZQKLeihrZWpFmsyaiI","level":"info","message":"auth send jwt","requestID":"dd50a48b39b5f33165fc5d44788fa697"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd50a48b39b5f33165fc5d44788fa697","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"dd50a48b39b5f33165fc5d44788fa697"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.439917,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"dd50a48b39b5f33165fc5d44788fa697","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841887,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4N30.OENQ8ADGWgcv3rQz2pS9k8GI4ZQKLeihrZWpFmsyaiI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dd50a48b39b5f33165fc5d44788fa697","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.946993383Z"}]},"request_id":"244fb811-8afe-4722-994d-d16195468f63","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841887.9938176} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dd50a48b39b5f33165fc5d44788fa697","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f389532d-a9f5-4575-979a-d0e5d3ce8a78","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841887.997969} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"dd50a48b39b5f33165fc5d44788fa697","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.946993383Z"}]},"request_id":"ae27ef93-fccb-4d4b-8f67-3d9bbe8f02cd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841888.0360184} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd50a48b39b5f33165fc5d44788fa697","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"dd50a48b39b5f33165fc5d44788fa697"} gateway-1 | {"time_local":"28/Apr/2025:12:04:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/55596669-dbcf-4525-8850-3189867b0170 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"dd50a48b39b5f33165fc5d44788fa697"} device-1 | {"level":"info","message":"PATCH /devices/55596669-dbcf-4525-8850-3189867b0170 200 53ms","method":"PATCH","requestID":"dd50a48b39b5f33165fc5d44788fa697","responseTime":53,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OH0.0htrgPqVlPaVRjv0nuOLk0FPvZ7G1DptzUH-gvKMTAw","level":"info","message":"auth send jwt","requestID":"6531199e874d1fa2475a708462cff5e3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6531199e874d1fa2475a708462cff5e3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6531199e874d1fa2475a708462cff5e3"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667306,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6531199e874d1fa2475a708462cff5e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841888,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OH0.0htrgPqVlPaVRjv0nuOLk0FPvZ7G1DptzUH-gvKMTAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6531199e874d1fa2475a708462cff5e3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6531199e874d1fa2475a708462cff5e3"} gateway-1 | {"time_local":"28/Apr/2025:12:04:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/55596669-dbcf-4525-8850-3189867b0170/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6531199e874d1fa2475a708462cff5e3"} device-1 | {"level":"info","message":"POST /devices/55596669-dbcf-4525-8850-3189867b0170/websocket 200 12ms","method":"POST","requestID":"6531199e874d1fa2475a708462cff5e3","responseTime":12,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"71ebe9147a07c421df614ca555feec18","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"71ebe9147a07c421df614ca555feec18","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/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":"71ebe9147a07c421df614ca555feec18"} device-1 | {"level":"info","message":"OPTIONS /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/websocket 200 1ms","method":"OPTIONS","requestID":"71ebe9147a07c421df614ca555feec18","responseTime":1,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y","level":"info","message":"auth send jwt","requestID":"747598f1bd1f6aad78deea33bdba1d92"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"747598f1bd1f6aad78deea33bdba1d92","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"747598f1bd1f6aad78deea33bdba1d92"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72301,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"747598f1bd1f6aad78deea33bdba1d92","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"747598f1bd1f6aad78deea33bdba1d92","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"747598f1bd1f6aad78deea33bdba1d92"} gateway-1 | {"time_local":"28/Apr/2025:12:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/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":"747598f1bd1f6aad78deea33bdba1d92"} device-1 | {"level":"info","message":"POST /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/websocket 200 41ms","method":"POST","requestID":"747598f1bd1f6aad78deea33bdba1d92","responseTime":41,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y","level":"info","message":"auth send jwt","requestID":"34431185c95e893ed7b651a520d6d0d7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"34431185c95e893ed7b651a520d6d0d7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"34431185c95e893ed7b651a520d6d0d7"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689033,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"34431185c95e893ed7b651a520d6d0d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"34431185c95e893ed7b651a520d6d0d7","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.856381703Z"}]},"request_id":"8b31d53e-475a-42c3-8df3-8ebafbd27677","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.4253879} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"34431185c95e893ed7b651a520d6d0d7","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"34431185c95e893ed7b651a520d6d0d7"} gateway-1 | {"time_local":"28/Apr/2025:12:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260? 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":"34431185c95e893ed7b651a520d6d0d7"} device-1 | {"level":"info","message":"GET /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260? 200 34ms","method":"GET","requestID":"34431185c95e893ed7b651a520d6d0d7","responseTime":34,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y","level":"info","message":"auth send jwt","requestID":"5a5a0aecbb80b1be803d71df94e7c144"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5a5a0aecbb80b1be803d71df94e7c144","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5a5a0aecbb80b1be803d71df94e7c144"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.846534,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5a5a0aecbb80b1be803d71df94e7c144","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5a5a0aecbb80b1be803d71df94e7c144","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.946993383Z"}]},"request_id":"65e10e67-cdd7-44cb-9361-37cda3c056c7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.4439225} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5a5a0aecbb80b1be803d71df94e7c144","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5a5a0aecbb80b1be803d71df94e7c144"} device-1 | {"level":"info","message":"GET /devices/55596669-dbcf-4525-8850-3189867b0170? 200 37ms","method":"GET","requestID":"5a5a0aecbb80b1be803d71df94e7c144","responseTime":37,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y","level":"info","message":"auth send jwt","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} gateway-1 | {"time_local":"28/Apr/2025:12:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/55596669-dbcf-4525-8850-3189867b0170? 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":"5a5a0aecbb80b1be803d71df94e7c144"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b93e1e6ceaac96a2d792df012c0c5f83","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.928198,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"b93e1e6ceaac96a2d792df012c0c5f83","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b93e1e6ceaac96a2d792df012c0c5f83","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Attempting to run experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Attempting to book experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Successfully booked experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc19b3c0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc1a01e0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.60419,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc19b3c0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc19b3c0-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.800477,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc1a01e0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fc1a01e0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.856381703Z"}]},"request_id":"28a1e65a-e01a-4092-8317-be0f00bbe1f8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.5403283} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fc19b3c0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.946993383Z"}]},"request_id":"48443fc0-25fb-4457-9902-17d3733476e4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.5435965} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc19b3c0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fc1a01e0-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260? 200 36ms","method":"GET","requestID":"fc19b3c0-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc1a01e0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/55596669-dbcf-4525-8850-3189867b0170? 200 37ms","method":"GET","requestID":"fc1a01e0-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Setting up experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Successfully set up experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc291d10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc294420-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc299240-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Successfully running experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971192,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc291d10-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fc291d10-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.953603,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc294420-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"fc294420-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b85abb0e-7113-4d2b-a17a-75f03f1003c2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.6715803} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.891889,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc299240-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","object_type":"device","rebac_allow":false,"scope_allow":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":"fc299240-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.856381703Z"}]},"request_id":"af2dda5f-6faa-4c94-8d5e-ea30498982a1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.6732683} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"fc291d10-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc299240-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.946993383Z"}]},"request_id":"14a32952-06ba-4ebf-ab69-ff94404f2087","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.6758642} device-1 | {"level":"info","message":"POST /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/signaling 200 40ms","method":"POST","requestID":"fc299240-2428-11f0-a0e6-516e7b85a777","responseTime":40,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fc294420-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc3021f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe21001ff-4aaa-4e5c-b760-9000f03022e9#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe21001ff-4aaa-4e5c-b760-9000f03022e9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"b5140f75-1419-4be4-850d-814c349dcbf6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.6804612} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc291d10-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260? 200 49ms","method":"GET","requestID":"fc291d10-2428-11f0-a0e6-516e7b85a777","responseTime":49,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20f68c7f-d6e0-4d1c-9fd8-f200d160eece","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.6808357} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc294420-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"b93e1e6ceaac96a2d792df012c0c5f83","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} device-1 | {"level":"info","message":"GET /devices/55596669-dbcf-4525-8850-3189867b0170? 200 50ms","method":"GET","requestID":"fc294420-2428-11f0-a0e6-516e7b85a777","responseTime":50,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24595951-36e4-4548-9604-1233afc1e6b3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.6847286} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.949792,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc3021f0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fc3021f0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc318180-2428-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} gateway-1 | {"time_local":"28/Apr/2025:12:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.216","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"level":"info","message":"POST /experiments? 201 214ms","method":"POST","requestID":"b93e1e6ceaac96a2d792df012c0c5f83","responseTime":214,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc3021f0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} device-1 | {"level":"info","message":"POST /devices/55596669-dbcf-4525-8850-3189867b0170/signaling 200 36ms","method":"POST","requestID":"fc3021f0-2428-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bae0a981-17e9-48e3-8ba5-ca2099d86abc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.7165716} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.904352,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc318180-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fc318180-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y","level":"info","message":"auth send jwt","requestID":"cfca2e2585ded82280b2e96214a46054"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"cfca2e2585ded82280b2e96214a46054","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cfca2e2585ded82280b2e96214a46054"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc318180-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/signaling 200 34ms","method":"POST","requestID":"fc318180-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc36ffc0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.10784,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cfca2e2585ded82280b2e96214a46054","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cfca2e2585ded82280b2e96214a46054","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.856381703Z"}]},"request_id":"cc9075bc-191c-4bf2-b5e8-9ed10d334b79","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.7291048} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a2ff8ad-e663-44aa-b609-b3f7e746364f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.7292309} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cfca2e2585ded82280b2e96214a46054","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.536672,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc36ffc0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fc36ffc0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cfca2e2585ded82280b2e96214a46054"} gateway-1 | {"time_local":"28/Apr/2025:12:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260? 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":"cfca2e2585ded82280b2e96214a46054"} device-1 | {"level":"info","message":"GET /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260? 200 13ms","method":"GET","requestID":"cfca2e2585ded82280b2e96214a46054","responseTime":13,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc36ffc0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/55596669-dbcf-4525-8850-3189867b0170/signaling 200 10ms","method":"POST","requestID":"fc36ffc0-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Building connection plan","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} 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":"0054fea5-cc39-4333-bddf-fc3671d8aae1"},{"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":"481ad360-2bb2-42f6-ad9d-7e465c2757da"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d8ab1bb4-378b-4d51-af36-94eecbc93e0a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} 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/55596669-dbcf-4525-8850-3189867b0170"},{"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/f13c6d73-2fc4-4ec6-913f-ed55dbc90260"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y","level":"info","message":"auth send jwt","requestID":"f38af8821b6282dc06e59da6b8746679"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f38af8821b6282dc06e59da6b8746679","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44230","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.589717,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"fc3ca510-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f38af8821b6282dc06e59da6b8746679"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc3ca510-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"fc3ca510-2428-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.439333,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f38af8821b6282dc06e59da6b8746679","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841889,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg4OX0.Rpef-6ideklUtC8lWQq5dVdpdYsJPScDHbkL5WXUY-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f38af8821b6282dc06e59da6b8746679","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:46.946993383Z"}]},"request_id":"6847e05c-c7e9-4bae-b05b-19a5328837f8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.7688901} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f38af8821b6282dc06e59da6b8746679","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f38af8821b6282dc06e59da6b8746679"} gateway-1 | {"time_local":"28/Apr/2025:12:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/55596669-dbcf-4525-8850-3189867b0170? 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":"f38af8821b6282dc06e59da6b8746679"} device-1 | {"level":"info","message":"GET /devices/55596669-dbcf-4525-8850-3189867b0170? 200 9ms","method":"GET","requestID":"f38af8821b6282dc06e59da6b8746679","responseTime":9,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"62d40c60-41ed-469c-8a5a-93709f7c6d05","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.7726421} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1297f00-cdf0-4aa0-ae92-f541c885dfd0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.7730412} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fc3ca510-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"fc3ca510-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"fc3ca510-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc'","requestID":"fc3ca510-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc'","requestID":"fc3ca510-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"fc3ca510-2428-11f0-a0e6-516e7b85a777"} 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":"fc3ca510-2428-11f0-a0e6-516e7b85a777","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":"fc3ca510-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc","device":"f13c6d73-2fc4-4ec6-913f-ed55dbc90260","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/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b93e1e6ceaac96a2d792df012c0c5f83"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc4de320-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53cc1c40-c99b-4dd8-8778-69453133f8f5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.878885} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.10282,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc4de320-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","object_type":"device","rebac_allow":false,"scope_allow":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":"fc4de320-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc4de320-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/signaling 200 34ms","method":"POST","requestID":"fc4de320-2428-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/signaling"} device-1 | {"device":"f13c6d73-2fc4-4ec6-913f-ed55dbc90260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f13c6d73-2fc4-4ec6-913f-ed55dbc90260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc538870-2428-11f0-a0e6-516e7b85a777"} device-1 | {"content":{"sdp":"v=0\r\no=- 6836227932426254786 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:gX8F\r\na=ice-pwd:VBFtnM0xmQIzxrXmpjPstKVZ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C8:8F:29:74:03:A7:D6:B8:F7:DA:A3:C8:B9:E5:67:F2:9B:79:E4:7D:D4:D1:2B:5F:A3:6F:15:BA:F0:69:EE:A5\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"f13c6d73-2fc4-4ec6-913f-ed55dbc90260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"421b830b-cc3f-4ae5-9822-02f721cba5aa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841889.9157166} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.747572,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fc538870-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fc538870-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc538870-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/55596669-dbcf-4525-8850-3189867b0170/signaling 200 9ms","method":"POST","requestID":"fc538870-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170/signaling"} device-1 | {"device":"f13c6d73-2fc4-4ec6-913f-ed55dbc90260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"55596669-dbcf-4525-8850-3189867b0170","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":"7b7242c0-6bae-4840-981e-eda90adde7bc","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"55596669-dbcf-4525-8850-3189867b0170","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":"55596669-dbcf-4525-8850-3189867b0170","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":"55596669-dbcf-4525-8850-3189867b0170","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":"55596669-dbcf-4525-8850-3189867b0170","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/7b7242c0-6bae-4840-981e-eda90adde7bc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7b7242c0-6bae-4840-981e-eda90adde7bc","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0f11bc4b6c8865c6092150963b06ba10","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f11bc4b6c8865c6092150963b06ba10","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170"},{"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/f13c6d73-2fc4-4ec6-913f-ed55dbc90260"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc"}}},"level":"info","message":"received a callback","requestID":"0f11bc4b6c8865c6092150963b06ba10"} device-1 | {"content":{"candidate":"candidate:214865101 1 udp 2113937151 68c25d8e-2a25-4bd3-9047-ba3e16b5c21f.local 40659 typ host generation 0 ufrag gX8F network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f13c6d73-2fc4-4ec6-913f-ed55dbc90260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} gateway-1 | {"time_local":"28/Apr/2025:12:04:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f11bc4b6c8865c6092150963b06ba10"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"0f11bc4b6c8865c6092150963b06ba10","responseTime":31,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"f13c6d73-2fc4-4ec6-913f-ed55dbc90260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"7b7242c0-6bae-4840-981e-eda90adde7bc","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"55596669-dbcf-4525-8850-3189867b0170","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":"f13c6d73-2fc4-4ec6-913f-ed55dbc90260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"55596669-dbcf-4525-8850-3189867b0170","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":"7b7242c0-6bae-4840-981e-eda90adde7bc","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/7b7242c0-6bae-4840-981e-eda90adde7bc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7b7242c0-6bae-4840-981e-eda90adde7bc","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1f149ff4e12a3b5c54ab0d4a0a6cf3dd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1f149ff4e12a3b5c54ab0d4a0a6cf3dd","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/55596669-dbcf-4525-8850-3189867b0170"},{"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/f13c6d73-2fc4-4ec6-913f-ed55dbc90260"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc"}}},"level":"info","message":"received a callback","requestID":"1f149ff4e12a3b5c54ab0d4a0a6cf3dd"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"fd8e0440-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:51Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7b7242c0-6bae-4840-981e-eda90adde7bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a87f9835-a217-4134-958d-eafed3f17db1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841891.9759684} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.296542,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fd8e0440-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc","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":"fd8e0440-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"fd8e0440-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc 200 7ms","method":"GET","requestID":"fd8e0440-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"1f149ff4e12a3b5c54ab0d4a0a6cf3dd","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f149ff4e12a3b5c54ab0d4a0a6cf3dd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fd91adc0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee0c5034-d520-4166-8bb4-7bcfe69d51d7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.0202951} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.244703,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fd91adc0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fd91adc0-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fd91adc0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/55596669-dbcf-4525-8850-3189867b0170/signaling 200 27ms","method":"POST","requestID":"fd91adc0-2428-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fd961a90-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"314f3819-6aa5-4bc3-a4c4-7e436c28af93","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.029085} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.22451,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fd961a90-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fd961a90-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fd961a90-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/signaling 200 7ms","method":"POST","requestID":"fd961a90-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5Mn0.h7l5VuxG4jQ6mntneUJgPKqNzP0dMG3dXWd8p377pOc","level":"info","message":"auth send jwt","requestID":"ce6052a516dd6f82165bb2c5b17d8f2b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ce6052a516dd6f82165bb2c5b17d8f2b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9","requestID":"ce6052a516dd6f82165bb2c5b17d8f2b"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.179543,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ce6052a516dd6f82165bb2c5b17d8f2b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841892,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5Mn0.h7l5VuxG4jQ6mntneUJgPKqNzP0dMG3dXWd8p377pOc"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"ce6052a516dd6f82165bb2c5b17d8f2b","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9","requestID":"ce6052a516dd6f82165bb2c5b17d8f2b"} gateway-1 | {"time_local":"28/Apr/2025:12:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce6052a516dd6f82165bb2c5b17d8f2b"} experiment-1 | {"level":"info","message":"GET /experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9 200 33ms","method":"GET","requestID":"ce6052a516dd6f82165bb2c5b17d8f2b","responseTime":33,"status":200,"url":"/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5Mn0.h7l5VuxG4jQ6mntneUJgPKqNzP0dMG3dXWd8p377pOc","level":"info","message":"auth send jwt","requestID":"3ee52ba2f8ae790a721075b7e0d422b0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3ee52ba2f8ae790a721075b7e0d422b0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9","requestID":"3ee52ba2f8ae790a721075b7e0d422b0"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.829476,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"3ee52ba2f8ae790a721075b7e0d422b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841892,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5Mn0.h7l5VuxG4jQ6mntneUJgPKqNzP0dMG3dXWd8p377pOc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3ee52ba2f8ae790a721075b7e0d422b0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Attempting to finish experiment","requestID":"3ee52ba2f8ae790a721075b7e0d422b0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"fd9ecd20-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.651716,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fd9ecd20-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841892,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5Mn0.h7l5VuxG4jQ6mntneUJgPKqNzP0dMG3dXWd8p377pOc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fd9ecd20-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc","device":"f13c6d73-2fc4-4ec6-913f-ed55dbc90260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"55596669-dbcf-4525-8850-3189867b0170","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":"55596669-dbcf-4525-8850-3189867b0170","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":"55596669-dbcf-4525-8850-3189867b0170","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/7b7242c0-6bae-4840-981e-eda90adde7bc' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7b7242c0-6bae-4840-981e-eda90adde7bc","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7b7242c0-6bae-4840-981e-eda90adde7bc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7b7242c0-6bae-4840-981e-eda90adde7bc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"0ab4b4af-a7f0-4ceb-b0b9-c25ac204acf4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.1208038} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1dbaebc7-afcd-4218-b92d-c6695974a55e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.1211398} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"beafa5f5b0a44e2f7e98b2718d777b67","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"beafa5f5b0a44e2f7e98b2718d777b67","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0c4819e557fea42a7254a179dc2451bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"connected","url":"http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170"},{"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/f13c6d73-2fc4-4ec6-913f-ed55dbc90260"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc"}}},"level":"info","message":"received a callback","requestID":"beafa5f5b0a44e2f7e98b2718d777b67"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"0c4819e557fea42a7254a179dc2451bf","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"fd9ecd20-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/55596669-dbcf-4525-8850-3189867b0170"},{"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/f13c6d73-2fc4-4ec6-913f-ed55dbc90260"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc"}}},"level":"info","message":"received a callback","requestID":"0c4819e557fea42a7254a179dc2451bf"} device-1 | {"data":{"peerconnection":"7b7242c0-6bae-4840-981e-eda90adde7bc","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"fd9ecd20-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc 204 89ms","method":"DELETE","requestID":"fd9ecd20-2428-11f0-a0e6-516e7b85a777","responseTime":89,"status":204,"url":"/peerconnections/7b7242c0-6bae-4840-981e-eda90adde7bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"},"level":"info","message":"Successfully finished experiment","requestID":"3ee52ba2f8ae790a721075b7e0d422b0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fdb31870-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55596669-dbcf-4525-8850-3189867b0170","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50642afb-8ce5-43c4-82ee-6b2a015bd81b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.2207413} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.10687,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fdb31870-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fdb31870-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fdb31870-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/55596669-dbcf-4525-8850-3189867b0170/signaling 200 11ms","method":"POST","requestID":"fdb31870-2428-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/55596669-dbcf-4525-8850-3189867b0170/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe21001ff-4aaa-4e5c-b760-9000f03022e9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe21001ff-4aaa-4e5c-b760-9000f03022e9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"21df96df-5255-444f-be83-0190bd711d8d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.2266681} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d220ce9-1501-4571-a579-9f04e19ac9be","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.2269819} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fdb53b50-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"3ee52ba2f8ae790a721075b7e0d422b0","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff13c6d73-2fc4-4ec6-913f-ed55dbc90260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33a92950-b525-46ce-b610-49d5af33f195","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.2589107} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.135228,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fdb53b50-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260","object_type":"device","rebac_allow":false,"scope_allow":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":"fdb53b50-2428-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fdb53b50-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/signaling 200 35ms","method":"POST","requestID":"fdb53b50-2428-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9","requestID":"3ee52ba2f8ae790a721075b7e0d422b0"} gateway-1 | {"time_local":"28/Apr/2025:12:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.288","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ee52ba2f8ae790a721075b7e0d422b0"} experiment-1 | {"level":"info","message":"DELETE /experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9 204 285ms","method":"DELETE","requestID":"3ee52ba2f8ae790a721075b7e0d422b0","responseTime":285,"status":204,"url":"/experiments/e21001ff-4aaa-4e5c-b760-9000f03022e9"} gateway-1 | {"time_local":"28/Apr/2025:12:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2539","request_time":"4.277","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9e4e44988929b4d702abbad6fdfa03cd"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/55596669-dbcf-4525-8850-3189867b0170' closed"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.242","http_referrer":"","http_user_agent":"node-fetch","requestID":"beafa5f5b0a44e2f7e98b2718d777b67"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5Mn0.h7l5VuxG4jQ6mntneUJgPKqNzP0dMG3dXWd8p377pOc","level":"info","message":"auth send jwt","requestID":"322d7676fc78726095f8acc44e9a8537"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"322d7676fc78726095f8acc44e9a8537","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.242","http_referrer":"","http_user_agent":"node-fetch","requestID":"0c4819e557fea42a7254a179dc2451bf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 238ms","method":"POST","requestID":"beafa5f5b0a44e2f7e98b2718d777b67","responseTime":238,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 238ms","method":"POST","requestID":"0c4819e557fea42a7254a179dc2451bf","responseTime":238,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"322d7676fc78726095f8acc44e9a8537"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.758304,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"322d7676fc78726095f8acc44e9a8537","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841892,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5Mn0.h7l5VuxG4jQ6mntneUJgPKqNzP0dMG3dXWd8p377pOc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"322d7676fc78726095f8acc44e9a8537","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2746","request_time":"2.984","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"10e81a376df1974d90288e344300963e"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f13c6d73-2fc4-4ec6-913f-ed55dbc90260' 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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"daa6e056-34af-40b5-b4a8-fc059f0240ea","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.407404} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"322d7676fc78726095f8acc44e9a8537","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0519fce6-b555-47b8-aeb6-92adfce4a79c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.4129703} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"322d7676fc78726095f8acc44e9a8537","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"385564f9-4ec2-4632-8a1c-fe9e65678780","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.4222412} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cbb3541-1c61-4ddf-b41b-e3ff4d7af91c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.4223528} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"322d7676fc78726095f8acc44e9a8537","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.422203792Z"}]},"request_id":"ee9a2e5c-7a48-4346-8ef1-d15470f7c8e2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.4513447} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"322d7676fc78726095f8acc44e9a8537","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"322d7676fc78726095f8acc44e9a8537"} gateway-1 | {"time_local":"28/Apr/2025:12:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"322d7676fc78726095f8acc44e9a8537"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"322d7676fc78726095f8acc44e9a8537","responseTime":88,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5Mn0.h7l5VuxG4jQ6mntneUJgPKqNzP0dMG3dXWd8p377pOc","level":"info","message":"auth send jwt","requestID":"6227bba09bce2642f2a688d8b98c9ee1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6227bba09bce2642f2a688d8b98c9ee1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6227bba09bce2642f2a688d8b98c9ee1"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.906966,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6227bba09bce2642f2a688d8b98c9ee1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841892,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5Mn0.h7l5VuxG4jQ6mntneUJgPKqNzP0dMG3dXWd8p377pOc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6227bba09bce2642f2a688d8b98c9ee1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"845320dc-b55d-4589-9fe7-12b1ac7ab373","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.4756203} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6227bba09bce2642f2a688d8b98c9ee1","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0452c984-5e9a-4328-b3c9-0b78280b6457","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.5006871} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6227bba09bce2642f2a688d8b98c9ee1","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"51ca530c-461e-4a1f-b6a4-15d4c0a046c0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.5115554} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e3e0dee-0ee3-4571-887d-0e746f820f37","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.5117648} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"6227bba09bce2642f2a688d8b98c9ee1","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.511522666Z"}]},"request_id":"8840e9e5-6aa0-4c3f-abbc-81d058e48a03","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841892.5157602} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6227bba09bce2642f2a688d8b98c9ee1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6227bba09bce2642f2a688d8b98c9ee1"} gateway-1 | {"time_local":"28/Apr/2025:12:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6227bba09bce2642f2a688d8b98c9ee1"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"6227bba09bce2642f2a688d8b98c9ee1","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5M30.yDEtwneHUY9JedeH-QpzUTP1Bu1cTX0GYzmLUOeG1b4","level":"info","message":"auth send jwt","requestID":"78b4244d1f1b652543d0b60d7b1db1f7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78b4244d1f1b652543d0b60d7b1db1f7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"78b4244d1f1b652543d0b60d7b1db1f7"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726758,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"78b4244d1f1b652543d0b60d7b1db1f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841893,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5M30.yDEtwneHUY9JedeH-QpzUTP1Bu1cTX0GYzmLUOeG1b4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"78b4244d1f1b652543d0b60d7b1db1f7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.422203792Z"}]},"request_id":"313995aa-9d7b-46a2-95cf-2e348264db0a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841893.4721594} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78b4244d1f1b652543d0b60d7b1db1f7","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4eea29c5-0015-4058-9a9c-90e8545ed023","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841893.4763668} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"78b4244d1f1b652543d0b60d7b1db1f7","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.422203792Z"}]},"request_id":"eda8381f-e2b6-45f0-b8b3-5fc776a7cdd4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841893.5196042} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78b4244d1f1b652543d0b60d7b1db1f7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"78b4244d1f1b652543d0b60d7b1db1f7"} gateway-1 | {"time_local":"28/Apr/2025:12:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.062","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"78b4244d1f1b652543d0b60d7b1db1f7"} device-1 | {"level":"info","message":"PATCH /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058 200 57ms","method":"PATCH","requestID":"78b4244d1f1b652543d0b60d7b1db1f7","responseTime":57,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5M30.yDEtwneHUY9JedeH-QpzUTP1Bu1cTX0GYzmLUOeG1b4","level":"info","message":"auth send jwt","requestID":"aa9fbe26b19a5d268cd861c3aff694e7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aa9fbe26b19a5d268cd861c3aff694e7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"aa9fbe26b19a5d268cd861c3aff694e7"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.812279,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"aa9fbe26b19a5d268cd861c3aff694e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841893,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5M30.yDEtwneHUY9JedeH-QpzUTP1Bu1cTX0GYzmLUOeG1b4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"aa9fbe26b19a5d268cd861c3aff694e7","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"aa9fbe26b19a5d268cd861c3aff694e7"} gateway-1 | {"time_local":"28/Apr/2025:12:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"aa9fbe26b19a5d268cd861c3aff694e7"} device-1 | {"level":"info","message":"POST /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/websocket 200 37ms","method":"POST","requestID":"aa9fbe26b19a5d268cd861c3aff694e7","responseTime":37,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ae8b7142c81ca612452afb91e20c30b3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ae8b7142c81ca612452afb91e20c30b3","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:04:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/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":"ae8b7142c81ca612452afb91e20c30b3"} device-1 | {"level":"info","message":"OPTIONS /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/websocket 200 0ms","method":"OPTIONS","requestID":"ae8b7142c81ca612452afb91e20c30b3","responseTime":0,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek","level":"info","message":"auth send jwt","requestID":"ff3b7bce1e02b3fef1144331e5d13173"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ff3b7bce1e02b3fef1144331e5d13173","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ff3b7bce1e02b3fef1144331e5d13173"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:54Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930911,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff3b7bce1e02b3fef1144331e5d13173","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841894,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ff3b7bce1e02b3fef1144331e5d13173","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ff3b7bce1e02b3fef1144331e5d13173"} gateway-1 | {"time_local":"28/Apr/2025:12:04:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ff3b7bce1e02b3fef1144331e5d13173"} device-1 | {"level":"info","message":"POST /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/websocket 200 36ms","method":"POST","requestID":"ff3b7bce1e02b3fef1144331e5d13173","responseTime":36,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek","level":"info","message":"auth send jwt","requestID":"462cc342222df9a984b1ac92fff65e0e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"462cc342222df9a984b1ac92fff65e0e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"462cc342222df9a984b1ac92fff65e0e"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:54Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721372,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"462cc342222df9a984b1ac92fff65e0e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841894,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"462cc342222df9a984b1ac92fff65e0e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.422203792Z"}]},"request_id":"f92b3aa7-0b52-41c6-bdb6-01417456111f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841894.916773} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"462cc342222df9a984b1ac92fff65e0e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"462cc342222df9a984b1ac92fff65e0e"} gateway-1 | {"time_local":"28/Apr/2025:12:04:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"462cc342222df9a984b1ac92fff65e0e"} device-1 | {"level":"info","message":"GET /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058? 200 10ms","method":"GET","requestID":"462cc342222df9a984b1ac92fff65e0e","responseTime":10,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek","level":"info","message":"auth send jwt","requestID":"f7329e04ccd8d7bf27b7f70ee70d2a36"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f7329e04ccd8d7bf27b7f70ee70d2a36","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7329e04ccd8d7bf27b7f70ee70d2a36"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:54Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.978611,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f7329e04ccd8d7bf27b7f70ee70d2a36","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841894,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f7329e04ccd8d7bf27b7f70ee70d2a36","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.511522666Z"}]},"request_id":"3c8b542f-8c60-4fcf-a207-ad639274c8b4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841894.955091} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f7329e04ccd8d7bf27b7f70ee70d2a36","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7329e04ccd8d7bf27b7f70ee70d2a36"} device-1 | {"level":"info","message":"GET /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf? 200 10ms","method":"GET","requestID":"f7329e04ccd8d7bf27b7f70ee70d2a36","responseTime":10,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf? 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":"f7329e04ccd8d7bf27b7f70ee70d2a36"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek","level":"info","message":"auth send jwt","requestID":"6c171cc95c16f125817b985060b466fd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6c171cc95c16f125817b985060b466fd","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6c171cc95c16f125817b985060b466fd"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:54Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.643774,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6c171cc95c16f125817b985060b466fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841894,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6c171cc95c16f125817b985060b466fd","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Attempting to run experiment","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Attempting to book experiment","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Successfully booked experiment","requestID":"6c171cc95c16f125817b985060b466fd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ff627620-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ff629d30-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645177,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff627620-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841894,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ff627620-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56058","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:56058","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82965,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff629d30-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841894,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ff629d30-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.422203792Z"}]},"request_id":"bdf97cda-c79c-4e0c-9a4f-6848f1561c81","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.0507305} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ff627620-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ff627620-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.511522666Z"}]},"request_id":"709836ad-742d-4b6f-a5aa-5fa658861516","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.054204} device-1 | {"level":"info","message":"GET /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058? 200 12ms","method":"GET","requestID":"ff627620-2428-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ff629d30-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ff629d30-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf? 200 14ms","method":"GET","requestID":"ff629d30-2428-11f0-a0e6-516e7b85a777","responseTime":14,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Setting up experiment","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Successfully set up experiment","requestID":"6c171cc95c16f125817b985060b466fd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ff714330-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ff716a40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ff71b860-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:56058","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:56058","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76984,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff714330-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841894,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ff714330-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Successfully running experiment","requestID":"6c171cc95c16f125817b985060b466fd"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.443024,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:56058","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff716a40-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841894,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ff716a40-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edfca390-9fb9-4c30-b30e-7562a0bb04c3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.1486933} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.511522666Z"}]},"request_id":"b4b031aa-7945-4bd8-9cd6-4dcb404d5cd2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.1506531} authorization-1 | {"client_addr":"127.0.0.1:56058","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.870036,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff71b860-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","rebac_allow":false,"scope_allow":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":"ff71b860-2428-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ff716a40-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.422203792Z"}]},"request_id":"853d5abf-1f49-44c4-a328-6e7030715b4b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.1513052} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ff714330-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ff71b860-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/signaling 200 14ms","method":"POST","requestID":"ff71b860-2428-11f0-a0e6-516e7b85a777","responseTime":14,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ff716a40-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf? 200 17ms","method":"GET","requestID":"ff716a40-2428-11f0-a0e6-516e7b85a777","responseTime":17,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ff714330-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058? 200 19ms","method":"GET","requestID":"ff714330-2428-11f0-a0e6-516e7b85a777","responseTime":19,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ff742960-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ff745070-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7de7b988-10f0-41ab-b8bf-6d386c80111d#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7de7b988-10f0-41ab-b8bf-6d386c80111d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"7220599e-f593-4ee1-af22-0ace358a3351","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.1859343} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7a4bf18-4fb6-4e73-9f87-f6fe23b80a8f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.1861084} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"6c171cc95c16f125817b985060b466fd","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56058","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:56058","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.984168,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e1cb352-4420-4822-b3cb-ebcc91ce868e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.1889927} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d032b383-ceb8-495e-831d-012bcaee4e18","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.1892974} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.206874,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff742960-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ff742960-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff745070-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ff745070-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6c171cc95c16f125817b985060b466fd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ff742960-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/signaling 200 38ms","method":"POST","requestID":"ff742960-2428-11f0-a0e6-516e7b85a777","responseTime":38,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/signaling"} gateway-1 | {"time_local":"28/Apr/2025:12:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"level":"info","message":"POST /experiments? 201 233ms","method":"POST","requestID":"6c171cc95c16f125817b985060b466fd","responseTime":233,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ff745070-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/signaling 200 37ms","method":"POST","requestID":"ff745070-2428-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ff7a6af0-2428-11f0-a0e6-516e7b85a777"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NX0.MgNNcn4P1LbLiZrFcXZwk6DXUibmEOUUQBzJofP9Ge4","level":"info","message":"auth send jwt","requestID":"d64ab32c5e72a8638ed3c9228d90ee78"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d64ab32c5e72a8638ed3c9228d90ee78","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d64ab32c5e72a8638ed3c9228d90ee78"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:56058","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41779ad4-f4b4-42cb-98bd-dbbdf9840d74","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.2038352} authorization-1 | {"client_addr":"127.0.0.1:56058","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710934,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d64ab32c5e72a8638ed3c9228d90ee78","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841895,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NX0.MgNNcn4P1LbLiZrFcXZwk6DXUibmEOUUQBzJofP9Ge4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d64ab32c5e72a8638ed3c9228d90ee78","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.553549,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff7a6af0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ff7a6af0-2428-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.422203792Z"}]},"request_id":"d1f2f2ff-5089-4684-b604-7e6257a526c5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.20782} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ff7a6af0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/signaling 200 9ms","method":"POST","requestID":"ff7a6af0-2428-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"d64ab32c5e72a8638ed3c9228d90ee78","responseTime":27,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6c171cc95c16f125817b985060b466fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Building connection plan","requestID":"6c171cc95c16f125817b985060b466fd"} 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":"c391ed4c-eed3-463c-b4f2-13cd32eb8a27"},{"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":"9299d042-15c3-43e2-8a90-11066cad9d6f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8e7e1a4e-40aa-42c4-ba97-7584944ba103"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6c171cc95c16f125817b985060b466fd"} 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/1400bc0e-3667-4671-b49e-3f29dc7ec3bf"},{"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/3cbd1d32-6140-4a1a-86e3-4bb723641058"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6c171cc95c16f125817b985060b466fd"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d64ab32c5e72a8638ed3c9228d90ee78"} device-1 | {"level":"info","message":"GET /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058? 200 36ms","method":"GET","requestID":"d64ab32c5e72a8638ed3c9228d90ee78","responseTime":36,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058? 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":"d64ab32c5e72a8638ed3c9228d90ee78"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.672259,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841894,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NH0.3ZkKJCW2NV-_Il4N8jeyLYzLZpp08nFoockN6AOakek"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NX0.MgNNcn4P1LbLiZrFcXZwk6DXUibmEOUUQBzJofP9Ge4","level":"info","message":"auth send jwt","requestID":"0148613ae6dff4d7e53e4185e900663f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0148613ae6dff4d7e53e4185e900663f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0148613ae6dff4d7e53e4185e900663f"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.018338,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0148613ae6dff4d7e53e4185e900663f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841895,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5NX0.MgNNcn4P1LbLiZrFcXZwk6DXUibmEOUUQBzJofP9Ge4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0148613ae6dff4d7e53e4185e900663f","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"091682e5-6508-433e-b887-7102c9cee7ec","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.2465456} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a94f49d0-bf73-4594-aafc-76642aac2f83","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.246919} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:52.511522666Z"}]},"request_id":"9114b378-ed6d-41cd-a1eb-c5f7f04044c1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.2508354} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0148613ae6dff4d7e53e4185e900663f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8'","requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8'","requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 24ms","method":"POST","requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777","responseTime":24,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0148613ae6dff4d7e53e4185e900663f"} device-1 | {"level":"info","message":"GET /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf? 200 18ms","method":"GET","requestID":"0148613ae6dff4d7e53e4185e900663f","responseTime":18,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf? 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":"0148613ae6dff4d7e53e4185e900663f"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"ff7fe930-2428-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","device":"1400bc0e-3667-4671-b49e-3f29dc7ec3bf","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/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6c171cc95c16f125817b985060b466fd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ff8e6820-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cef7d5d4-dac3-4edc-9351-9c149253c988","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.3341424} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.664355,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff8e6820-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ff8e6820-2428-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ff8e6820-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/signaling 200 8ms","method":"POST","requestID":"ff8e6820-2428-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ff8fc7b0-2428-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d56eb45-0ec9-4e47-9feb-7063e177aedf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841895.3438568} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.633977,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"ff8fc7b0-2428-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ff8fc7b0-2428-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"1400bc0e-3667-4671-b49e-3f29dc7ec3bf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1400bc0e-3667-4671-b49e-3f29dc7ec3bf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ff8fc7b0-2428-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/signaling 200 10ms","method":"POST","requestID":"ff8fc7b0-2428-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/signaling"} device-1 | {"device":"3cbd1d32-6140-4a1a-86e3-4bb723641058","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":"f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8238038095088736763 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:LCj/\r\na=ice-pwd:oDcjtgIiCN5zvJSKFpBoGSO5\r\na=ice-options:trickle\r\na=fingerprint:sha-256 31:3E:43:B5:FE:5B:D3:69:E2:C3:F0:26:6B:29:64:8D:9B:A4:E2:FF:8D:97:08:62:26:A4:3B:9B:4B:73:87:15\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"1400bc0e-3667-4671-b49e-3f29dc7ec3bf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2478292800 1 udp 2113937151 b499cdc1-0611-49bf-bac4-da52a86ddc86.local 42848 typ host generation 0 ufrag LCj/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1400bc0e-3667-4671-b49e-3f29dc7ec3bf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"1400bc0e-3667-4671-b49e-3f29dc7ec3bf","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/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf'"} device-1 | {"device":"1400bc0e-3667-4671-b49e-3f29dc7ec3bf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"830a1d756fc5c12cbb4ff9f5c359b0b9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"830a1d756fc5c12cbb4ff9f5c359b0b9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf"},{"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/3cbd1d32-6140-4a1a-86e3-4bb723641058"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8"}}},"level":"info","message":"received a callback","requestID":"830a1d756fc5c12cbb4ff9f5c359b0b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"830a1d756fc5c12cbb4ff9f5c359b0b9","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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":"830a1d756fc5c12cbb4ff9f5c359b0b9"} device-1 | {"device":"3cbd1d32-6140-4a1a-86e3-4bb723641058","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":"3cbd1d32-6140-4a1a-86e3-4bb723641058","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":"3cbd1d32-6140-4a1a-86e3-4bb723641058","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":"f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3cbd1d32-6140-4a1a-86e3-4bb723641058","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":"1400bc0e-3667-4671-b49e-3f29dc7ec3bf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"3cbd1d32-6140-4a1a-86e3-4bb723641058","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":"f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1400bc0e-3667-4671-b49e-3f29dc7ec3bf","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/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"81a22a4397718672b83ac3f4fe7f790c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"81a22a4397718672b83ac3f4fe7f790c","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/1400bc0e-3667-4671-b49e-3f29dc7ec3bf"},{"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/3cbd1d32-6140-4a1a-86e3-4bb723641058"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8"}}},"level":"info","message":"received a callback","requestID":"81a22a4397718672b83ac3f4fe7f790c"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"00d36b40-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1e00a60-448d-40cb-9312-ff4761867d08","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.4639192} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.24887,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"00d36b40-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","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":"00d36b40-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"00d36b40-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8 200 7ms","method":"GET","requestID":"00d36b40-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"81a22a4397718672b83ac3f4fe7f790c","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"81a22a4397718672b83ac3f4fe7f790c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00d6c6a0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02a82f0e-2802-4c37-b13a-1cd645ad5082","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.4859252} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.214788,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"00d6c6a0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"00d6c6a0-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00d6c6a0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/signaling 200 7ms","method":"POST","requestID":"00d6c6a0-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00d82630-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92a7c402-f7b6-4d2e-b4ac-74a1387c5f0b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.4945273} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.225634,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"00d82630-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00d82630-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00d82630-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/signaling 200 7ms","method":"POST","requestID":"00d82630-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5N30.ol0s7mWwrSBdk80fuHAxrxwv47Spsfryp9msztJqtyY","level":"info","message":"auth send jwt","requestID":"5681726ae38230c3d53457069a334ea0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5681726ae38230c3d53457069a334ea0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d","requestID":"5681726ae38230c3d53457069a334ea0"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.667557,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5681726ae38230c3d53457069a334ea0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841897,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5N30.ol0s7mWwrSBdk80fuHAxrxwv47Spsfryp9msztJqtyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5681726ae38230c3d53457069a334ea0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d","requestID":"5681726ae38230c3d53457069a334ea0"} gateway-1 | {"time_local":"28/Apr/2025:12:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5681726ae38230c3d53457069a334ea0"} experiment-1 | {"level":"info","message":"GET /experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d 200 8ms","method":"GET","requestID":"5681726ae38230c3d53457069a334ea0","responseTime":8,"status":200,"url":"/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5N30.ol0s7mWwrSBdk80fuHAxrxwv47Spsfryp9msztJqtyY","level":"info","message":"auth send jwt","requestID":"939cfa9d34096ba0a036721804630c39"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"939cfa9d34096ba0a036721804630c39","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d","requestID":"939cfa9d34096ba0a036721804630c39"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.675877,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"939cfa9d34096ba0a036721804630c39","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841897,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5N30.ol0s7mWwrSBdk80fuHAxrxwv47Spsfryp9msztJqtyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"939cfa9d34096ba0a036721804630c39","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Attempting to finish experiment","requestID":"939cfa9d34096ba0a036721804630c39"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"00e54590-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.690511,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"00e54590-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841897,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5N30.ol0s7mWwrSBdk80fuHAxrxwv47Spsfryp9msztJqtyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00e54590-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","device":"1400bc0e-3667-4671-b49e-3f29dc7ec3bf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"3cbd1d32-6140-4a1a-86e3-4bb723641058","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":"3cbd1d32-6140-4a1a-86e3-4bb723641058","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":"3cbd1d32-6140-4a1a-86e3-4bb723641058","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/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff38cdeb5-50d3-4e06-a1a0-a089dcbd77e8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff38cdeb5-50d3-4e06-a1a0-a089dcbd77e8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"ba22f0f6-d686-4d7e-8d62-30653344e86c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.590094} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e619f14-27aa-4540-9c63-c3d64c0821f9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.590268} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"707cdc2cc9497b9c40e1080c5b1b776d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"707cdc2cc9497b9c40e1080c5b1b776d","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"00e54590-2429-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"09fb90c4295c055cfa47c88fedfe5fba","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"connected","url":"http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf"},{"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/3cbd1d32-6140-4a1a-86e3-4bb723641058"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8"}}},"level":"info","message":"received a callback","requestID":"707cdc2cc9497b9c40e1080c5b1b776d"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"09fb90c4295c055cfa47c88fedfe5fba","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":"connected","url":"http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf"},{"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/3cbd1d32-6140-4a1a-86e3-4bb723641058"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8"}}},"level":"info","message":"received a callback","requestID":"09fb90c4295c055cfa47c88fedfe5fba"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"00e54590-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8 204 26ms","method":"DELETE","requestID":"00e54590-2429-11f0-a0e6-516e7b85a777","responseTime":26,"status":204,"url":"/peerconnections/f38cdeb5-50d3-4e06-a1a0-a089dcbd77e8"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"},"level":"info","message":"Successfully finished experiment","requestID":"939cfa9d34096ba0a036721804630c39"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00ef0990-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1400bc0e-3667-4671-b49e-3f29dc7ec3bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9e3d014-6855-400d-a9e6-99088791d15c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.6457956} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.371715,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"00ef0990-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"00ef0990-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00ef0990-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/signaling 200 8ms","method":"POST","requestID":"00ef0990-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00f09030-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7de7b988-10f0-41ab-b8bf-6d386c80111d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7de7b988-10f0-41ab-b8bf-6d386c80111d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"72321350-9604-426e-ab25-3e2c84685240","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.654368} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"780debcb-faa4-4805-84da-5d0566ac0c15","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.654532} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"939cfa9d34096ba0a036721804630c39","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3cbd1d32-6140-4a1a-86e3-4bb723641058","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65c75a89-be8e-42e0-9e9c-6f51470695a4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.681214} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.188235,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"00f09030-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058","object_type":"device","rebac_allow":false,"scope_allow":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":"00f09030-2429-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00f09030-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/signaling 200 34ms","method":"POST","requestID":"00f09030-2429-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d","requestID":"939cfa9d34096ba0a036721804630c39"} gateway-1 | {"time_local":"28/Apr/2025:12:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.220","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"939cfa9d34096ba0a036721804630c39"} experiment-1 | {"level":"info","message":"DELETE /experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d 204 218ms","method":"DELETE","requestID":"939cfa9d34096ba0a036721804630c39","responseTime":218,"status":204,"url":"/experiments/7de7b988-10f0-41ab-b8bf-6d386c80111d"} gateway-1 | {"time_local":"28/Apr/2025:12:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2493","request_time":"4.222","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"32ff6f4b24c397131e8717801a42dd1d"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3cbd1d32-6140-4a1a-86e3-4bb723641058' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"707cdc2cc9497b9c40e1080c5b1b776d","responseTime":199,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5N30.ol0s7mWwrSBdk80fuHAxrxwv47Spsfryp9msztJqtyY","level":"info","message":"auth send jwt","requestID":"a16bc6a0662b7f3195435473279e3dfb"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.201","http_referrer":"","http_user_agent":"node-fetch","requestID":"707cdc2cc9497b9c40e1080c5b1b776d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a16bc6a0662b7f3195435473279e3dfb","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"09fb90c4295c055cfa47c88fedfe5fba","responseTime":199,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:04: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.201","http_referrer":"","http_user_agent":"node-fetch","requestID":"09fb90c4295c055cfa47c88fedfe5fba"} device-1 | {"level":"info","message":"postDevices called","requestID":"a16bc6a0662b7f3195435473279e3dfb"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.987934,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a16bc6a0662b7f3195435473279e3dfb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841897,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5N30.ol0s7mWwrSBdk80fuHAxrxwv47Spsfryp9msztJqtyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"a16bc6a0662b7f3195435473279e3dfb","responseTime":29,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.924","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5311190a2ca8a73011bd77c559781932"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1400bc0e-3667-4671-b49e-3f29dc7ec3bf' 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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0cc339f1-d8c3-4478-a13c-bfbae24a2295","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.8391347} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a16bc6a0662b7f3195435473279e3dfb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e484a0a2-93c6-47b9-846c-ee2b60049505","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.843522} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a16bc6a0662b7f3195435473279e3dfb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"a573700e-c8e3-409f-a931-128ec0a7980c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.8780289} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33133e80-c557-4192-b16a-b8415b87a883","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.8783143} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"a16bc6a0662b7f3195435473279e3dfb","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.877994589Z"}]},"request_id":"45ca75a6-b0a7-4215-af82-d8b7fc8d002d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.882932} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a16bc6a0662b7f3195435473279e3dfb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a16bc6a0662b7f3195435473279e3dfb"} gateway-1 | {"time_local":"28/Apr/2025:12:04:57 +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":"a16bc6a0662b7f3195435473279e3dfb"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"a16bc6a0662b7f3195435473279e3dfb","responseTime":91,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5N30.ol0s7mWwrSBdk80fuHAxrxwv47Spsfryp9msztJqtyY","level":"info","message":"auth send jwt","requestID":"d2c6133cb6bf3a88ef317d52021f9b54"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d2c6133cb6bf3a88ef317d52021f9b54","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d2c6133cb6bf3a88ef317d52021f9b54"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.720252,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d2c6133cb6bf3a88ef317d52021f9b54","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841897,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5N30.ol0s7mWwrSBdk80fuHAxrxwv47Spsfryp9msztJqtyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2c6133cb6bf3a88ef317d52021f9b54","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aa5d90a5-0f75-4337-a506-e1b4ff29eca6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.9292507} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d2c6133cb6bf3a88ef317d52021f9b54","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34a8a56a-694a-497b-8a20-7690686b48cf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.9334002} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d2c6133cb6bf3a88ef317d52021f9b54","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"f6899c45-9c3a-482a-8e26-8b3161e39127","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.9743996} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f80afa5f-f7fe-416f-b844-7982e358205e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.9746718} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"d2c6133cb6bf3a88ef317d52021f9b54","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.974378569Z"}]},"request_id":"dd4061d7-9095-42ee-b5f7-bb3aeca1e8e1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841897.9788566} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d2c6133cb6bf3a88ef317d52021f9b54","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d2c6133cb6bf3a88ef317d52021f9b54"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"d2c6133cb6bf3a88ef317d52021f9b54","responseTime":90,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2c6133cb6bf3a88ef317d52021f9b54"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5OH0.JWh-4ejX6ELyjPAXHvuxH8I9U7c_xUTh6_xTMOZ0P84","level":"info","message":"auth send jwt","requestID":"87c9d00ea7ad4b59e8d649d09f16beef"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87c9d00ea7ad4b59e8d649d09f16beef","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"87c9d00ea7ad4b59e8d649d09f16beef"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670798,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"87c9d00ea7ad4b59e8d649d09f16beef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841898,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5OH0.JWh-4ejX6ELyjPAXHvuxH8I9U7c_xUTh6_xTMOZ0P84"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"87c9d00ea7ad4b59e8d649d09f16beef","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.877994589Z"}]},"request_id":"04c8b7fd-5545-462e-a93f-d17ee99f5942","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841898.948674} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"87c9d00ea7ad4b59e8d649d09f16beef","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73642232-7bb4-4dce-b340-8b5b5c1becef","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841898.9562683} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"87c9d00ea7ad4b59e8d649d09f16beef","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.877994589Z"}]},"request_id":"a68ce634-a0b6-4f8b-a0e3-3332735f0c2d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841898.9852123} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87c9d00ea7ad4b59e8d649d09f16beef","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"87c9d00ea7ad4b59e8d649d09f16beef"} gateway-1 | {"time_local":"28/Apr/2025:12:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a72f7380-3074-4f24-bff8-6c6b89d80421 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"87c9d00ea7ad4b59e8d649d09f16beef"} device-1 | {"level":"info","message":"PATCH /devices/a72f7380-3074-4f24-bff8-6c6b89d80421 200 47ms","method":"PATCH","requestID":"87c9d00ea7ad4b59e8d649d09f16beef","responseTime":47,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5OH0.JWh-4ejX6ELyjPAXHvuxH8I9U7c_xUTh6_xTMOZ0P84","level":"info","message":"auth send jwt","requestID":"1d7b5a4bd8cd90da36abc108779e384b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1d7b5a4bd8cd90da36abc108779e384b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1d7b5a4bd8cd90da36abc108779e384b"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.782053,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:04:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1d7b5a4bd8cd90da36abc108779e384b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841898,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTg5OH0.JWh-4ejX6ELyjPAXHvuxH8I9U7c_xUTh6_xTMOZ0P84"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d7b5a4bd8cd90da36abc108779e384b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1d7b5a4bd8cd90da36abc108779e384b"} gateway-1 | {"time_local":"28/Apr/2025:12:04:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a72f7380-3074-4f24-bff8-6c6b89d80421/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"1d7b5a4bd8cd90da36abc108779e384b"} device-1 | {"level":"info","message":"POST /devices/a72f7380-3074-4f24-bff8-6c6b89d80421/websocket 200 36ms","method":"POST","requestID":"1d7b5a4bd8cd90da36abc108779e384b","responseTime":36,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7afb900592cd8239df5432905f9db8bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7afb900592cd8239df5432905f9db8bf","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/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":"7afb900592cd8239df5432905f9db8bf"} device-1 | {"level":"info","message":"OPTIONS /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/websocket 200 1ms","method":"OPTIONS","requestID":"7afb900592cd8239df5432905f9db8bf","responseTime":1,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA","level":"info","message":"auth send jwt","requestID":"0825a21c258f0bc9d48869b23424d2f7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0825a21c258f0bc9d48869b23424d2f7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0825a21c258f0bc9d48869b23424d2f7"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67435,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0825a21c258f0bc9d48869b23424d2f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0825a21c258f0bc9d48869b23424d2f7","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0825a21c258f0bc9d48869b23424d2f7"} gateway-1 | {"time_local":"28/Apr/2025:12:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/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":"0825a21c258f0bc9d48869b23424d2f7"} device-1 | {"level":"info","message":"POST /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/websocket 200 45ms","method":"POST","requestID":"0825a21c258f0bc9d48869b23424d2f7","responseTime":45,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA","level":"info","message":"auth send jwt","requestID":"0168879283ac1a4f1bd15d901d550a55"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0168879283ac1a4f1bd15d901d550a55","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0168879283ac1a4f1bd15d901d550a55"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707591,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0168879283ac1a4f1bd15d901d550a55","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0168879283ac1a4f1bd15d901d550a55","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.877994589Z"}]},"request_id":"abb13895-39fe-433a-9d7a-b8b278ba5229","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.3742223} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0168879283ac1a4f1bd15d901d550a55","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0168879283ac1a4f1bd15d901d550a55"} gateway-1 | {"time_local":"28/Apr/2025:12:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a72f7380-3074-4f24-bff8-6c6b89d80421? 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":"0168879283ac1a4f1bd15d901d550a55"} device-1 | {"level":"info","message":"GET /devices/a72f7380-3074-4f24-bff8-6c6b89d80421? 200 34ms","method":"GET","requestID":"0168879283ac1a4f1bd15d901d550a55","responseTime":34,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA","level":"info","message":"auth send jwt","requestID":"325de93a7945539bda5aa464df08c590"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"325de93a7945539bda5aa464df08c590","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"325de93a7945539bda5aa464df08c590"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717381,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"325de93a7945539bda5aa464df08c590","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"325de93a7945539bda5aa464df08c590","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.974378569Z"}]},"request_id":"ab8d8ef6-9449-4b8c-8c18-62c51ba6b477","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.3902209} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"325de93a7945539bda5aa464df08c590","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"325de93a7945539bda5aa464df08c590"} device-1 | {"level":"info","message":"GET /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd? 200 37ms","method":"GET","requestID":"325de93a7945539bda5aa464df08c590","responseTime":37,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd?"} gateway-1 | {"time_local":"28/Apr/2025:12:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd? 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":"325de93a7945539bda5aa464df08c590"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA","level":"info","message":"auth send jwt","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.635715,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"2e6074cf8eb4bb28f20db929e0ae85fe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Attempting to run experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Attempting to book experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Successfully booked experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"02a12660-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"02a17480-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604747,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02a12660-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"02a12660-2429-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659515,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02a17480-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"02a17480-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.877994589Z"}]},"request_id":"e05abd79-beeb-4e08-8fcd-c09b6ab662c3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.5198507} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"02a12660-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.974378569Z"}]},"request_id":"97d7d9b3-a03b-4d00-ae5f-fa3d9eadba34","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.5205767} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"02a17480-2429-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"02a12660-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/a72f7380-3074-4f24-bff8-6c6b89d80421? 200 39ms","method":"GET","requestID":"02a12660-2429-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"02a17480-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd? 200 37ms","method":"GET","requestID":"02a17480-2429-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Setting up experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Successfully set up experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"02b48750-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"02b4ae60-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02b4d570-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956508,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02b48750-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Successfully running experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"02b48750-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940526,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02b4ae60-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"02b4ae60-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0155998f-600c-4a30-9614-470cf93ae7f3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.622296} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.303285,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02b4d570-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"02b4d570-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.974378569Z"}]},"request_id":"ab7c5a37-8cd1-4018-a9b7-05b61dca2c59","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.6245587} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"02b4ae60-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.877994589Z"}]},"request_id":"386e62c5-96e3-4eac-9ee0-692824514da9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.6271894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"02b48750-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02b4d570-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/a72f7380-3074-4f24-bff8-6c6b89d80421/signaling 200 14ms","method":"POST","requestID":"02b4d570-2429-11f0-a0e6-516e7b85a777","responseTime":14,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02b76d80-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"02b4ae60-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd? 200 20ms","method":"GET","requestID":"02b4ae60-2429-11f0-a0e6-516e7b85a777","responseTime":20,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"02b48750-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d1449bd-0dda-4d44-ad04-55d9b3d0688f#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d1449bd-0dda-4d44-ad04-55d9b3d0688f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"bba04427-a146-4026-8804-9e28a71d8811","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.6338043} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db3d6e9e-d6ae-4a9d-990e-9367716c92eb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.6340613} device-1 | {"level":"info","message":"GET /devices/a72f7380-3074-4f24-bff8-6c6b89d80421? 200 22ms","method":"GET","requestID":"02b48750-2429-11f0-a0e6-516e7b85a777","responseTime":22,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421?"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02a8d794-721b-4feb-ad28-b43a64c32f5a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.6366825} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.850946,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02bbda50-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02b76d80-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","object_type":"device","rebac_allow":false,"scope_allow":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":"02b76d80-2429-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02b76d80-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/signaling 200 33ms","method":"POST","requestID":"02b76d80-2429-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd04aa9f-8769-4ec0-a5e4-2cdb4f0a5c50","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.6661854} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.695298,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} gateway-1 | {"time_local":"28/Apr/2025:12:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"level":"info","message":"POST /experiments? 201 242ms","method":"POST","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe","responseTime":242,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02bbda50-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"02bbda50-2429-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02bbda50-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/a72f7380-3074-4f24-bff8-6c6b89d80421/signaling 200 11ms","method":"POST","requestID":"02bbda50-2429-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA","level":"info","message":"auth send jwt","requestID":"e8e4ed2cc2c739ddb529d21ac8d2e4f0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e8e4ed2cc2c739ddb529d21ac8d2e4f0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e8e4ed2cc2c739ddb529d21ac8d2e4f0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02bdd620-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663061,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e8e4ed2cc2c739ddb529d21ac8d2e4f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e8e4ed2cc2c739ddb529d21ac8d2e4f0","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90668a0a-119d-440f-842d-ff8f17685a32","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.6786635} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.51424,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02bdd620-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"02bdd620-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02bdd620-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/signaling 200 32ms","method":"POST","requestID":"02bdd620-2429-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Building connection plan","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} 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":"148663ac-40b4-4472-b81d-60015349e06e"},{"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":"77e792f0-1f83-42de-aa61-fd774558f6a1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2917bdf7-cd88-4d6a-86d5-d70cddbbf0f8"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} 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/51dcb89f-1471-482e-abd1-66ad8563a6fd"},{"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/a72f7380-3074-4f24-bff8-6c6b89d80421"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.877994589Z"}]},"request_id":"ff08bb7d-ebed-4907-ab4e-975139296a2c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.7068624} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e8e4ed2cc2c739ddb529d21ac8d2e4f0","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"02c32d50-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.691048,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e8e4ed2cc2c739ddb529d21ac8d2e4f0"} gateway-1 | {"time_local":"28/Apr/2025:12:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a72f7380-3074-4f24-bff8-6c6b89d80421? 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":"e8e4ed2cc2c739ddb529d21ac8d2e4f0"} device-1 | {"level":"info","message":"GET /devices/a72f7380-3074-4f24-bff8-6c6b89d80421? 200 39ms","method":"GET","requestID":"e8e4ed2cc2c739ddb529d21ac8d2e4f0","responseTime":39,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02c32d50-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"02c32d50-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA","level":"info","message":"auth send jwt","requestID":"e888dd62fe51e287841d1611013008ad"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e888dd62fe51e287841d1611013008ad","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e888dd62fe51e287841d1611013008ad"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"e564a8fc-340e-4b81-9161-0018e5b596e1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.7198505} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ce04165-adc5-4204-b5e8-677f679dca45","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.7201762} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763145,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"02c32d50-2429-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e888dd62fe51e287841d1611013008ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841900,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwMH0.P2N7iHUPPxE6cSVI5FwBEaMlO221YyIr2QQazNWy-mA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e888dd62fe51e287841d1611013008ad","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:04:57.974378569Z"}]},"request_id":"74f66ac5-7011-4d41-bcf7-9055e633da29","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.7262087} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e888dd62fe51e287841d1611013008ad","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"02c32d50-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"02c32d50-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59'","requestID":"02c32d50-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59'","requestID":"02c32d50-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"02c32d50-2429-11f0-a0e6-516e7b85a777"} 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":"02c32d50-2429-11f0-a0e6-516e7b85a777","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":"getDevicesByDeviceId succeeded","requestID":"e888dd62fe51e287841d1611013008ad"} gateway-1 | {"time_local":"28/Apr/2025:12:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd? 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":"e888dd62fe51e287841d1611013008ad"} device-1 | {"level":"info","message":"GET /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd? 200 43ms","method":"GET","requestID":"e888dd62fe51e287841d1611013008ad","responseTime":43,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"02c32d50-2429-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59","device":"51dcb89f-1471-482e-abd1-66ad8563a6fd","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/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2e6074cf8eb4bb28f20db929e0ae85fe"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02d38100-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee4f0e1f-ada8-4d58-852a-bdbaefb792ba","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.8198824} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.36049,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02d38100-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"02d38100-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02d38100-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/a72f7380-3074-4f24-bff8-6c6b89d80421/signaling 200 8ms","method":"POST","requestID":"02d38100-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421/signaling"} device-1 | {"device":"51dcb89f-1471-482e-abd1-66ad8563a6fd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"51dcb89f-1471-482e-abd1-66ad8563a6fd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02d8d830-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ccffd249-6b61-4c3b-bbb5-e60185170c0d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841900.855335} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.380822,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"02d8d830-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"02d8d830-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02d8d830-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/signaling 200 8ms","method":"POST","requestID":"02d8d830-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/signaling"} device-1 | {"device":"a72f7380-3074-4f24-bff8-6c6b89d80421","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":"a1a16445-48b3-4015-9828-eb459b932b59","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 843949771463006981 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:DU2q\r\na=ice-pwd:Wj/vhhVYQikKexTrz9iHsJqA\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A7:2B:0C:07:37:B3:1C:AF:B5:71:01:62:BB:77:98:F0:E4:F4:E5:A0:09:7A:1F:E9:D0:EC:E8:7E:D1:76:3A:F3\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"51dcb89f-1471-482e-abd1-66ad8563a6fd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:763332328 1 udp 2113937151 3567be1e-b092-4185-a6cd-4f3c9ad28ac5.local 37258 typ host generation 0 ufrag DU2q network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"51dcb89f-1471-482e-abd1-66ad8563a6fd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"51dcb89f-1471-482e-abd1-66ad8563a6fd","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/51dcb89f-1471-482e-abd1-66ad8563a6fd'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1a16445-48b3-4015-9828-eb459b932b59","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"51dcb89f-1471-482e-abd1-66ad8563a6fd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"05907a60c2b9ae7d2eb43ac036c0dc6b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"a72f7380-3074-4f24-bff8-6c6b89d80421","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":"a72f7380-3074-4f24-bff8-6c6b89d80421","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"}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"05907a60c2b9ae7d2eb43ac036c0dc6b","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"a72f7380-3074-4f24-bff8-6c6b89d80421","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 | {"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/51dcb89f-1471-482e-abd1-66ad8563a6fd"},{"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/a72f7380-3074-4f24-bff8-6c6b89d80421"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59"}}},"level":"info","message":"received a callback","requestID":"05907a60c2b9ae7d2eb43ac036c0dc6b"} device-1 | {"data":{"peerconnection":"a1a16445-48b3-4015-9828-eb459b932b59","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"05907a60c2b9ae7d2eb43ac036c0dc6b","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"05907a60c2b9ae7d2eb43ac036c0dc6b"} device-1 | {"device":"a72f7380-3074-4f24-bff8-6c6b89d80421","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":"51dcb89f-1471-482e-abd1-66ad8563a6fd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a72f7380-3074-4f24-bff8-6c6b89d80421","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":"a1a16445-48b3-4015-9828-eb459b932b59","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"51dcb89f-1471-482e-abd1-66ad8563a6fd","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/a1a16445-48b3-4015-9828-eb459b932b59' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1a16445-48b3-4015-9828-eb459b932b59","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3e938db9c44dee13937710fb6cf34b89","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3e938db9c44dee13937710fb6cf34b89","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd"},{"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/a72f7380-3074-4f24-bff8-6c6b89d80421"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59"}}},"level":"info","message":"received a callback","requestID":"3e938db9c44dee13937710fb6cf34b89"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"04166140-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:02Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1a16445-48b3-4015-9828-eb459b932b59","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9821213-0095-4a35-bedc-24ca551d7713","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841902.9360979} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"04166140-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/a1a16445-48b3-4015-9828-eb459b932b59 200 7ms","method":"GET","requestID":"04166140-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.145877,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"04166140-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59","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":"04166140-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"3e938db9c44dee13937710fb6cf34b89","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"3e938db9c44dee13937710fb6cf34b89"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"041d6620-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:02Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"400207cf-9216-4e07-973e-b67694f8fa4d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841902.982236} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.293565,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"041d6620-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"041d6620-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"041d6620-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/signaling 200 32ms","method":"POST","requestID":"041d6620-2429-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"04226f30-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a138f096-c415-4017-991d-8c87e7b8102c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.0153325} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.173917,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"04226f30-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"04226f30-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"04226f30-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/a72f7380-3074-4f24-bff8-6c6b89d80421/signaling 200 8ms","method":"POST","requestID":"04226f30-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwM30.6ZTI_UKvJ3GhIE5eWgdZSQNyiivpL1Jt0Sc3dSPlrCY","level":"info","message":"auth send jwt","requestID":"d8255209f852080ac1abc1ff8c5c4f37"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f","requestID":"d8255209f852080ac1abc1ff8c5c4f37"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d8255209f852080ac1abc1ff8c5c4f37","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.936887,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d8255209f852080ac1abc1ff8c5c4f37","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841903,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwM30.6ZTI_UKvJ3GhIE5eWgdZSQNyiivpL1Jt0Sc3dSPlrCY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d8255209f852080ac1abc1ff8c5c4f37","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f","requestID":"d8255209f852080ac1abc1ff8c5c4f37"} gateway-1 | {"time_local":"28/Apr/2025:12:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8255209f852080ac1abc1ff8c5c4f37"} experiment-1 | {"level":"info","message":"GET /experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f 200 7ms","method":"GET","requestID":"d8255209f852080ac1abc1ff8c5c4f37","responseTime":7,"status":200,"url":"/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwM30.6ZTI_UKvJ3GhIE5eWgdZSQNyiivpL1Jt0Sc3dSPlrCY","level":"info","message":"auth send jwt","requestID":"d41816e1bd2d8eb782b7a241d16445dd"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"d41816e1bd2d8eb782b7a241d16445dd","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f","requestID":"d41816e1bd2d8eb782b7a241d16445dd"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.654737,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d41816e1bd2d8eb782b7a241d16445dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841903,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwM30.6ZTI_UKvJ3GhIE5eWgdZSQNyiivpL1Jt0Sc3dSPlrCY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d41816e1bd2d8eb782b7a241d16445dd","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Attempting to finish experiment","requestID":"d41816e1bd2d8eb782b7a241d16445dd"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"042b6fe0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.308176,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"042b6fe0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841903,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwM30.6ZTI_UKvJ3GhIE5eWgdZSQNyiivpL1Jt0Sc3dSPlrCY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"042b6fe0-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59","device":"51dcb89f-1471-482e-abd1-66ad8563a6fd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"a72f7380-3074-4f24-bff8-6c6b89d80421","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":"a72f7380-3074-4f24-bff8-6c6b89d80421","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":"a72f7380-3074-4f24-bff8-6c6b89d80421","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/a1a16445-48b3-4015-9828-eb459b932b59' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1a16445-48b3-4015-9828-eb459b932b59","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1a16445-48b3-4015-9828-eb459b932b59': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1a16445-48b3-4015-9828-eb459b932b59","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"98501ace-7cda-47bf-bfa7-f8e3411ef19e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.1095362} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"96e8bc6d20dcf1e1df70810014f3c59a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"connected","url":"http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd"},{"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/a72f7380-3074-4f24-bff8-6c6b89d80421"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59"}}},"level":"info","message":"received a callback","requestID":"96e8bc6d20dcf1e1df70810014f3c59a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"259253d1-1258-4c3c-9749-bf9cc4d3875e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.1098447} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"96e8bc6d20dcf1e1df70810014f3c59a","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"067a4f460b15616b0591c20dd1c227e6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"067a4f460b15616b0591c20dd1c227e6","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"042b6fe0-2429-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd"},{"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/a72f7380-3074-4f24-bff8-6c6b89d80421"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59"}}},"level":"info","message":"received a callback","requestID":"067a4f460b15616b0591c20dd1c227e6"} device-1 | {"data":{"peerconnection":"a1a16445-48b3-4015-9828-eb459b932b59","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"042b6fe0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/a1a16445-48b3-4015-9828-eb459b932b59 204 85ms","method":"DELETE","requestID":"042b6fe0-2429-11f0-a0e6-516e7b85a777","responseTime":85,"status":204,"url":"/peerconnections/a1a16445-48b3-4015-9828-eb459b932b59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"},"level":"info","message":"Successfully finished experiment","requestID":"d41816e1bd2d8eb782b7a241d16445dd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"043a6400-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51dcb89f-1471-482e-abd1-66ad8563a6fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8b6c9de-41c1-4bcf-82e4-e4e50af1aed6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.1717815} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.351086,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"043a6400-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"043a6400-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"043a6400-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/signaling 200 7ms","method":"POST","requestID":"043a6400-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/devices/51dcb89f-1471-482e-abd1-66ad8563a6fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"043f6d10-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d1449bd-0dda-4d44-ad04-55d9b3d0688f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d1449bd-0dda-4d44-ad04-55d9b3d0688f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"b6065b9e-6d0d-40e8-a8c9-c68cc39c357c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.202622} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"205ff739-2b75-461b-be6f-f7c3ac868e02","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.2030766} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"d41816e1bd2d8eb782b7a241d16445dd","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa72f7380-3074-4f24-bff8-6c6b89d80421","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f75d884b-0c34-4080-b394-f7cd4b7569d1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.2063322} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.628444,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"043f6d10-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"043f6d10-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"043f6d10-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/a72f7380-3074-4f24-bff8-6c6b89d80421/signaling 200 9ms","method":"POST","requestID":"043f6d10-2429-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/a72f7380-3074-4f24-bff8-6c6b89d80421/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f","requestID":"d41816e1bd2d8eb782b7a241d16445dd"} gateway-1 | {"time_local":"28/Apr/2025:12:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.266","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d41816e1bd2d8eb782b7a241d16445dd"} experiment-1 | {"level":"info","message":"DELETE /experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f 204 239ms","method":"DELETE","requestID":"d41816e1bd2d8eb782b7a241d16445dd","responseTime":239,"status":204,"url":"/experiments/0d1449bd-0dda-4d44-ad04-55d9b3d0688f"} gateway-1 | {"time_local":"28/Apr/2025:12:05:03 +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.271","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b2b9f306611f153c1cef234afd1c1a30"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"96e8bc6d20dcf1e1df70810014f3c59a","responseTime":195,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a72f7380-3074-4f24-bff8-6c6b89d80421' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"067a4f460b15616b0591c20dd1c227e6","responseTime":195,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwM30.6ZTI_UKvJ3GhIE5eWgdZSQNyiivpL1Jt0Sc3dSPlrCY","level":"info","message":"auth send jwt","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.201","http_referrer":"","http_user_agent":"node-fetch","requestID":"96e8bc6d20dcf1e1df70810014f3c59a"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.200","http_referrer":"","http_user_agent":"node-fetch","requestID":"067a4f460b15616b0591c20dd1c227e6"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.053427,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"738c0c45c5e86fee7b33e3edcc6edcdd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841903,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwM30.6ZTI_UKvJ3GhIE5eWgdZSQNyiivpL1Jt0Sc3dSPlrCY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd","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/51dcb89f-1471-482e-abd1-66ad8563a6fd' closed"} gateway-1 | {"time_local":"28/Apr/2025:12:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.978","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3903619e8a21be5f0024f62bff652446"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"65ac2cea-0173-4f05-b6ec-b4f1aee6e3e8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.352994} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a80cd220-154a-42df-98b9-bed9c43c89b3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.3573954} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"fe1a4a85-d856-4e7c-a4f9-09def29b7768","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.367401} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8febb18a-3f96-4c73-92bc-b72ebdb5e8ec","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.3677282} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.367377040Z"}]},"request_id":"f6f3c64e-c5e6-4c03-a2ee-885c3395b91f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.3960612} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd","responseTime":90,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"738c0c45c5e86fee7b33e3edcc6edcdd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwM30.6ZTI_UKvJ3GhIE5eWgdZSQNyiivpL1Jt0Sc3dSPlrCY","level":"info","message":"auth send jwt","requestID":"a8ef3c5f28083bee35618b9f144eea5c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a8ef3c5f28083bee35618b9f144eea5c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a8ef3c5f28083bee35618b9f144eea5c"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.895142,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a8ef3c5f28083bee35618b9f144eea5c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841903,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwM30.6ZTI_UKvJ3GhIE5eWgdZSQNyiivpL1Jt0Sc3dSPlrCY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a8ef3c5f28083bee35618b9f144eea5c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d4f878e5-2672-401a-b6f5-df0a75a4669e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.4413362} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"a8ef3c5f28083bee35618b9f144eea5c","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cfda098e-0c3c-437a-9c1b-86a81da39040","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.4453654} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a8ef3c5f28083bee35618b9f144eea5c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"89717265-c9b0-4f27-883e-95aed9b55d38","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.4545708} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a62cbbbf-08b5-4e42-9e03-474c5b8dd663","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.4546812} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"a8ef3c5f28083bee35618b9f144eea5c","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.454535971Z"}]},"request_id":"8d0e8062-767a-4706-a738-793468cd8ecf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841903.4587963} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a8ef3c5f28083bee35618b9f144eea5c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a8ef3c5f28083bee35618b9f144eea5c"} gateway-1 | {"time_local":"28/Apr/2025:12:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8ef3c5f28083bee35618b9f144eea5c"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"a8ef3c5f28083bee35618b9f144eea5c","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8","level":"info","message":"auth send jwt","requestID":"09208c126bb5f839c133e1ea37f31840"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"09208c126bb5f839c133e1ea37f31840","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"09208c126bb5f839c133e1ea37f31840"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8","level":"info","message":"auth send jwt","requestID":"bc1a4aa07f776cf21af080a86da81baa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bc1a4aa07f776cf21af080a86da81baa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"bc1a4aa07f776cf21af080a86da81baa"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635137,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"09208c126bb5f839c133e1ea37f31840","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"09208c126bb5f839c133e1ea37f31840","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.582155,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"bc1a4aa07f776cf21af080a86da81baa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bc1a4aa07f776cf21af080a86da81baa","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.454535971Z"}]},"request_id":"f466eedc-dcae-490b-bb19-02d749b49fd2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.4515095} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"09208c126bb5f839c133e1ea37f31840","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.367377040Z"}]},"request_id":"61b21786-8159-496c-bc58-a129b420a677","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.4522276} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bc1a4aa07f776cf21af080a86da81baa","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36b49cf7-f169-4b3b-8b2c-39c95a867c73","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.455938} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"09208c126bb5f839c133e1ea37f31840","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a42cf04e-9797-4b34-8d31-549f2ecbe139","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.4580364} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bc1a4aa07f776cf21af080a86da81baa","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.367377040Z"}]},"request_id":"37768be9-f94d-4e70-9dae-fc9bab742f80","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.4615722} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bc1a4aa07f776cf21af080a86da81baa","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"bc1a4aa07f776cf21af080a86da81baa"} gateway-1 | {"time_local":"28/Apr/2025:12:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3c2354ad-e447-4916-8232-676d7637270a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"bc1a4aa07f776cf21af080a86da81baa"} device-1 | {"level":"info","message":"PATCH /devices/3c2354ad-e447-4916-8232-676d7637270a 200 44ms","method":"PATCH","requestID":"bc1a4aa07f776cf21af080a86da81baa","responseTime":44,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8","level":"info","message":"auth send jwt","requestID":"f3acf1be537cdbb2d548fd248d812b9b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f3acf1be537cdbb2d548fd248d812b9b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f3acf1be537cdbb2d548fd248d812b9b"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695655,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f3acf1be537cdbb2d548fd248d812b9b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f3acf1be537cdbb2d548fd248d812b9b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.454535971Z"}]},"request_id":"066d9544-3896-4e3e-8862-c0f12732e96f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.4978752} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"09208c126bb5f839c133e1ea37f31840","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"09208c126bb5f839c133e1ea37f31840"} gateway-1 | {"time_local":"28/Apr/2025:12:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.086","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"09208c126bb5f839c133e1ea37f31840"} device-1 | {"level":"info","message":"PATCH /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873 200 82ms","method":"PATCH","requestID":"09208c126bb5f839c133e1ea37f31840","responseTime":82,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8","level":"info","message":"auth send jwt","requestID":"59fbc54b1cbe0f8cd0522a43655c8f14"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"59fbc54b1cbe0f8cd0522a43655c8f14","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"59fbc54b1cbe0f8cd0522a43655c8f14"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67108,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"59fbc54b1cbe0f8cd0522a43655c8f14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"59fbc54b1cbe0f8cd0522a43655c8f14","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f3acf1be537cdbb2d548fd248d812b9b"} device-1 | {"level":"info","message":"POST /devices/3c2354ad-e447-4916-8232-676d7637270a/websocket 200 42ms","method":"POST","requestID":"f3acf1be537cdbb2d548fd248d812b9b","responseTime":42,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3c2354ad-e447-4916-8232-676d7637270a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f3acf1be537cdbb2d548fd248d812b9b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"59fbc54b1cbe0f8cd0522a43655c8f14"} gateway-1 | {"time_local":"28/Apr/2025:12:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"59fbc54b1cbe0f8cd0522a43655c8f14"} device-1 | {"level":"info","message":"POST /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/websocket 200 13ms","method":"POST","requestID":"59fbc54b1cbe0f8cd0522a43655c8f14","responseTime":13,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8","level":"info","message":"auth send jwt","requestID":"7d1e2faba04689f456d4a8e1748cca8a"} authentication-1 | {"level":"info","message":"GET /auth 200 22ms","method":"GET","requestID":"7d1e2faba04689f456d4a8e1748cca8a","responseTime":22,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7d1e2faba04689f456d4a8e1748cca8a"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636609,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7d1e2faba04689f456d4a8e1748cca8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7d1e2faba04689f456d4a8e1748cca8a","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.367377040Z"}]},"request_id":"1a37b344-22f7-41a7-b481-3a849e05de0e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.5532253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7d1e2faba04689f456d4a8e1748cca8a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7d1e2faba04689f456d4a8e1748cca8a"} gateway-1 | {"time_local":"28/Apr/2025:12:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c2354ad-e447-4916-8232-676d7637270a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d1e2faba04689f456d4a8e1748cca8a"} device-1 | {"level":"info","message":"GET /devices/3c2354ad-e447-4916-8232-676d7637270a? 200 9ms","method":"GET","requestID":"7d1e2faba04689f456d4a8e1748cca8a","responseTime":9,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8","level":"info","message":"auth send jwt","requestID":"2ef879e6542895401f01ecf78624cd24"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2ef879e6542895401f01ecf78624cd24","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2ef879e6542895401f01ecf78624cd24"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960192,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"2ef879e6542895401f01ecf78624cd24","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2ef879e6542895401f01ecf78624cd24","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.454535971Z"}]},"request_id":"81bea54c-ba9a-4037-89b0-0d0f6b8a2b17","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.5679584} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"2ef879e6542895401f01ecf78624cd24","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2ef879e6542895401f01ecf78624cd24"} gateway-1 | {"time_local":"28/Apr/2025:12:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873? 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":"2ef879e6542895401f01ecf78624cd24"} device-1 | {"level":"info","message":"GET /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873? 200 34ms","method":"GET","requestID":"2ef879e6542895401f01ecf78624cd24","responseTime":34,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8","level":"info","message":"auth send jwt","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.734809,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Attempting to run experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Attempting to book experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Successfully booked experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"051cadb0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"051cd4c0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601873,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"051cadb0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"051cadb0-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.582056,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"051cd4c0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"051cd4c0-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.367377040Z"}]},"request_id":"4e1a09c6-877f-4628-93e6-fb3d3a1cda6a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.6586165} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"051cadb0-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.454535971Z"}]},"request_id":"7ac95a6c-ff1d-47f0-8ea3-208c192c458e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.6593843} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"051cd4c0-2429-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"051cadb0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/3c2354ad-e447-4916-8232-676d7637270a? 200 12ms","method":"GET","requestID":"051cadb0-2429-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"051cd4c0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873? 200 12ms","method":"GET","requestID":"051cd4c0-2429-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Setting up experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Successfully set up experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"052ba1d0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"052bc8e0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"052c1700-2429-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Successfully running experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:33326","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.328573,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.796963,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"052ba1d0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"052ba1d0-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"052bc8e0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"052bc8e0-2429-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.367377040Z"}]},"request_id":"78fd2327-c695-496e-9e23-b9e8b9ed8d9d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.785076} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"052ba1d0-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.454535971Z"}]},"request_id":"baa1c93e-9d5c-4cdb-89d5-bb60fbfc8cda","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.7866292} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1584cda-573c-47b5-bd7c-5a91129e492d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.787036} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"052bc8e0-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.180576,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"052c1700-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","object_type":"device","rebac_allow":false,"scope_allow":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":"052c1700-2429-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"f0cf4ea3-b684-4dee-a308-148789b8d4b7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.7911372} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f226be3-678b-4ae5-8d0f-aec17a319960","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.791339} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"052ba1d0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/3c2354ad-e447-4916-8232-676d7637270a? 200 43ms","method":"GET","requestID":"052ba1d0-2429-11f0-a0e6-516e7b85a777","responseTime":43,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"052bc8e0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873? 200 43ms","method":"GET","requestID":"052bc8e0-2429-11f0-a0e6-516e7b85a777","responseTime":43,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"052c1700-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3c2354ad-e447-4916-8232-676d7637270a/signaling 200 42ms","method":"POST","requestID":"052c1700-2429-11f0-a0e6-516e7b85a777","responseTime":42,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0532f4d0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05331be0-2429-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} gateway-1 | {"time_local":"28/Apr/2025:12:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 201ms","method":"POST","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0","responseTime":201,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27a837d7-a8a5-47ea-af8e-ac76583ad272","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.8018997} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6baccc5-f823-4212-9ab2-5937cfb3d838","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.8024907} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.981642,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0532f4d0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0532f4d0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.539426,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"05331be0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"05331be0-2429-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8","level":"info","message":"auth send jwt","requestID":"e3fc93fb8f003febbcb08baa9b416d29"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e3fc93fb8f003febbcb08baa9b416d29","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e3fc93fb8f003febbcb08baa9b416d29"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0532f4d0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3c2354ad-e447-4916-8232-676d7637270a/signaling 200 11ms","method":"POST","requestID":"0532f4d0-2429-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05331be0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/signaling 200 35ms","method":"POST","requestID":"05331be0-2429-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.858026,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0538c130-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e3fc93fb8f003febbcb08baa9b416d29","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"e3fc93fb8f003febbcb08baa9b416d29","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.367377040Z"}]},"request_id":"cc29ecd3-1d0a-45fc-a3c7-051d07dc6e51","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.8387797} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e77ef22-667f-41eb-ac14-e612ee2c4f04","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.838903} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e3fc93fb8f003febbcb08baa9b416d29","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.46052,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0538c130-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0538c130-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e3fc93fb8f003febbcb08baa9b416d29"} gateway-1 | {"time_local":"28/Apr/2025:12:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c2354ad-e447-4916-8232-676d7637270a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3fc93fb8f003febbcb08baa9b416d29"} device-1 | {"level":"info","message":"GET /devices/3c2354ad-e447-4916-8232-676d7637270a? 200 37ms","method":"GET","requestID":"e3fc93fb8f003febbcb08baa9b416d29","responseTime":37,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0538c130-2429-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Building connection plan","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} 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":"5182426b-bc8b-4e17-9418-9294b078d031"},{"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":"795853a3-1fad-4b11-a50c-1036bad6311b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9e4d2b82-01f7-4049-8777-80d74178ffc3"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} 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/3c2354ad-e447-4916-8232-676d7637270a"},{"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/0a646d4e-09b0-4c45-b73a-f33e6f9e9873"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} device-1 | {"level":"info","message":"POST /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/signaling 200 10ms","method":"POST","requestID":"0538c130-2429-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8","level":"info","message":"auth send jwt","requestID":"566d9522df8a1bf5f0280a9177f73bd9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"566d9522df8a1bf5f0280a9177f73bd9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"053abd00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"566d9522df8a1bf5f0280a9177f73bd9"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.741271,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"053abd00-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"053abd00-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651178,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"566d9522df8a1bf5f0280a9177f73bd9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841904,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwNH0.wxcTIosu8eSwx2EUE8qlVy-_x00ev2KvOrN_a2qDHB8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"566d9522df8a1bf5f0280a9177f73bd9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:03.454535971Z"}]},"request_id":"bb2beac0-0ba8-4830-90ae-86c3010ac675","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.8577724} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"566d9522df8a1bf5f0280a9177f73bd9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"566d9522df8a1bf5f0280a9177f73bd9"} gateway-1 | {"time_local":"28/Apr/2025:12:05:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873? 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":"566d9522df8a1bf5f0280a9177f73bd9"} device-1 | {"level":"info","message":"GET /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873? 200 34ms","method":"GET","requestID":"566d9522df8a1bf5f0280a9177f73bd9","responseTime":34,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"9fe69cb6-7ece-4be5-8a2b-1aaab84bcc05","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.8888893} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7129a52-e63d-4ffc-920b-147c3e607276","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841904.8892882} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"053abd00-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"053abd00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"053abd00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd'","requestID":"053abd00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd'","requestID":"053abd00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"053abd00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 135ms","method":"POST","requestID":"053abd00-2429-11f0-a0e6-516e7b85a777","responseTime":135,"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":"053abd00-2429-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fcaf7192348c9c0b42ee1fcf8ef266a0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05576cc0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:05Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56f05da0-80f1-4ca7-a162-33215e3d56f6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841905.040441} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.802393,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"05576cc0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"05576cc0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05576cc0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3c2354ad-e447-4916-8232-676d7637270a/signaling 200 9ms","method":"POST","requestID":"05576cc0-2429-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0558f360-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:05Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"428a971e-30c0-43fa-b87a-3a6626e42dfb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841905.0747383} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.703516,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0558f360-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","rebac_allow":false,"scope_allow":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":"0558f360-2429-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0558f360-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/signaling 200 33ms","method":"POST","requestID":"0558f360-2429-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/signaling"} device-1 | {"device":"0a646d4e-09b0-4c45-b73a-f33e6f9e9873","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":"6fe4e80c-885b-4930-a6dc-d296e28c20dd","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3c2354ad-e447-4916-8232-676d7637270a","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":"6fe4e80c-885b-4930-a6dc-d296e28c20dd","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3c2354ad-e447-4916-8232-676d7637270a","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":"3c2354ad-e447-4916-8232-676d7637270a","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":"3c2354ad-e447-4916-8232-676d7637270a","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":"3c2354ad-e447-4916-8232-676d7637270a","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/6fe4e80c-885b-4930-a6dc-d296e28c20dd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6fe4e80c-885b-4930-a6dc-d296e28c20dd","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a877cce6a9ff1d1a2b62a68f369d2c63","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a877cce6a9ff1d1a2b62a68f369d2c63","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/3c2354ad-e447-4916-8232-676d7637270a"},{"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/0a646d4e-09b0-4c45-b73a-f33e6f9e9873"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd"}}},"level":"info","message":"received a callback","requestID":"a877cce6a9ff1d1a2b62a68f369d2c63"} device-1 | {"device":"0a646d4e-09b0-4c45-b73a-f33e6f9e9873","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":"0a646d4e-09b0-4c45-b73a-f33e6f9e9873","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":"0a646d4e-09b0-4c45-b73a-f33e6f9e9873","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"}} gateway-1 | {"time_local":"28/Apr/2025:12:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"a877cce6a9ff1d1a2b62a68f369d2c63"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"a877cce6a9ff1d1a2b62a68f369d2c63","responseTime":29,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"6fe4e80c-885b-4930-a6dc-d296e28c20dd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3c2354ad-e447-4916-8232-676d7637270a","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":"0a646d4e-09b0-4c45-b73a-f33e6f9e9873","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":"3c2354ad-e447-4916-8232-676d7637270a","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":"0a646d4e-09b0-4c45-b73a-f33e6f9e9873","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":"6fe4e80c-885b-4930-a6dc-d296e28c20dd","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/6fe4e80c-885b-4930-a6dc-d296e28c20dd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6fe4e80c-885b-4930-a6dc-d296e28c20dd","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"11890101da83713cc2f7bbc84d6acb74","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"11890101da83713cc2f7bbc84d6acb74","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a"},{"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/0a646d4e-09b0-4c45-b73a-f33e6f9e9873"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd"}}},"level":"info","message":"received a callback","requestID":"11890101da83713cc2f7bbc84d6acb74"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0693e460-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6fe4e80c-885b-4930-a6dc-d296e28c20dd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b695e2f-c8d5-42f9-813a-ee2ee0d780de","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.1388514} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.230613,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0693e460-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd","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":"0693e460-2429-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0693e460-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd 200 32ms","method":"GET","requestID":"0693e460-2429-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"11890101da83713cc2f7bbc84d6acb74","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"11890101da83713cc2f7bbc84d6acb74"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"069b1050-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b4e9712-dc7a-4ec3-8703-a2162deeb0bd","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.18597} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.907794,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"069b1050-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","object_type":"device","rebac_allow":false,"scope_allow":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":"069b1050-2429-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"069b1050-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3c2354ad-e447-4916-8232-676d7637270a/signaling 200 33ms","method":"POST","requestID":"069b1050-2429-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"06a06780-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a0914aa-9c39-4c73-bb6e-12e701bb1ebe","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.196054} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.219258,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"06a06780-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"06a06780-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"06a06780-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/signaling 200 7ms","method":"POST","requestID":"06a06780-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwN30.KGr3WaKIqMHsvYRDRhGT6sGNu5CvKvNwvr_ExNARz9M","level":"info","message":"auth send jwt","requestID":"1401ccf85b4a3a09082214d2c3db8cce"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1401ccf85b4a3a09082214d2c3db8cce","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","requestID":"1401ccf85b4a3a09082214d2c3db8cce"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.706827,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1401ccf85b4a3a09082214d2c3db8cce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841907,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwN30.KGr3WaKIqMHsvYRDRhGT6sGNu5CvKvNwvr_ExNARz9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1401ccf85b4a3a09082214d2c3db8cce","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","requestID":"1401ccf85b4a3a09082214d2c3db8cce"} gateway-1 | {"time_local":"28/Apr/2025:12:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1401ccf85b4a3a09082214d2c3db8cce"} experiment-1 | {"level":"info","message":"GET /experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a 200 32ms","method":"GET","requestID":"1401ccf85b4a3a09082214d2c3db8cce","responseTime":32,"status":200,"url":"/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwN30.KGr3WaKIqMHsvYRDRhGT6sGNu5CvKvNwvr_ExNARz9M","level":"info","message":"auth send jwt","requestID":"197b6c59f0dafdaf41aee56f95fdfebe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"197b6c59f0dafdaf41aee56f95fdfebe","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","requestID":"197b6c59f0dafdaf41aee56f95fdfebe"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.627792,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"197b6c59f0dafdaf41aee56f95fdfebe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841907,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwN30.KGr3WaKIqMHsvYRDRhGT6sGNu5CvKvNwvr_ExNARz9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"197b6c59f0dafdaf41aee56f95fdfebe","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Attempting to finish experiment","requestID":"197b6c59f0dafdaf41aee56f95fdfebe"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"06a8a4e0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.747411,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"06a8a4e0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841907,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwN30.KGr3WaKIqMHsvYRDRhGT6sGNu5CvKvNwvr_ExNARz9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"06a8a4e0-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"3c2354ad-e447-4916-8232-676d7637270a","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":"3c2354ad-e447-4916-8232-676d7637270a","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"}} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6fe4e80c-885b-4930-a6dc-d296e28c20dd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6fe4e80c-885b-4930-a6dc-d296e28c20dd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"54f56d4a-3800-4c01-a1ba-23e1649b05b6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.2840064} device-1 | {"device":"3c2354ad-e447-4916-8232-676d7637270a","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":"0a646d4e-09b0-4c45-b73a-f33e6f9e9873","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":"0a646d4e-09b0-4c45-b73a-f33e6f9e9873","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":"0a646d4e-09b0-4c45-b73a-f33e6f9e9873","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/6fe4e80c-885b-4930-a6dc-d296e28c20dd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6fe4e80c-885b-4930-a6dc-d296e28c20dd","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7af72bc5-8be2-48dd-8c7d-8796496e578a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.2843595} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c40be8c09eed82481f55a01f19a13a38","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c40be8c09eed82481f55a01f19a13a38","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"06a8a4e0-2429-11f0-a0e6-516e7b85a777","responseTime":31,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e4e1aebfe1b3f208ee5d60af0c386f58","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a"},{"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/0a646d4e-09b0-4c45-b73a-f33e6f9e9873"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd"}}},"level":"info","message":"received a callback","requestID":"c40be8c09eed82481f55a01f19a13a38"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e4e1aebfe1b3f208ee5d60af0c386f58","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/3c2354ad-e447-4916-8232-676d7637270a"},{"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/0a646d4e-09b0-4c45-b73a-f33e6f9e9873"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd"}}},"level":"info","message":"received a callback","requestID":"e4e1aebfe1b3f208ee5d60af0c386f58"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"06a8a4e0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd 204 89ms","method":"DELETE","requestID":"06a8a4e0-2429-11f0-a0e6-516e7b85a777","responseTime":89,"status":204,"url":"/peerconnections/6fe4e80c-885b-4930-a6dc-d296e28c20dd"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"},"level":"info","message":"Successfully finished experiment","requestID":"197b6c59f0dafdaf41aee56f95fdfebe"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"06b83540-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2354ad-e447-4916-8232-676d7637270a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02d8c11f-aff4-4ba8-af4f-9b678b96a6c6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.352279} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.481022,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"06b83540-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a","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":"06b83540-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/3c2354ad-e447-4916-8232-676d7637270a/signaling 200 32ms","method":"POST","requestID":"06b83540-2429-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/devices/3c2354ad-e447-4916-8232-676d7637270a/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"06b83540-2429-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"06bd6560-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"9f498db7-3b79-404d-bdcb-fdc712120b61","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.3838503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5783d007-cf25-4c38-9b7a-b88d38947514","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.3839843} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"197b6c59f0dafdaf41aee56f95fdfebe","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a646d4e-09b0-4c45-b73a-f33e6f9e9873","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f660b687-8580-423c-b5db-141c44aca646","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.386293} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.142592,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"06bd6560-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"06bd6560-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"06bd6560-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/signaling 200 9ms","method":"POST","requestID":"06bd6560-2429-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a","requestID":"197b6c59f0dafdaf41aee56f95fdfebe"} gateway-1 | {"time_local":"28/Apr/2025:12:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.252","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"197b6c59f0dafdaf41aee56f95fdfebe"} experiment-1 | {"level":"info","message":"DELETE /experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a 204 249ms","method":"DELETE","requestID":"197b6c59f0dafdaf41aee56f95fdfebe","responseTime":249,"status":204,"url":"/experiments/42f0ee6a-3dcd-4c61-be1a-ef1d10d99e0a"} gateway-1 | {"time_local":"28/Apr/2025:12:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.968","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a2af86a9bd944e06e5bf8cf5938b4384"} gateway-1 | {"time_local":"28/Apr/2025:12:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.976","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"775a9bd3919c4d3da5426449223d0554"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 203ms","method":"POST","requestID":"c40be8c09eed82481f55a01f19a13a38","responseTime":203,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch","requestID":"c40be8c09eed82481f55a01f19a13a38"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0a646d4e-09b0-4c45-b73a-f33e6f9e9873' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 203ms","method":"POST","requestID":"e4e1aebfe1b3f208ee5d60af0c386f58","responseTime":203,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch","requestID":"e4e1aebfe1b3f208ee5d60af0c386f58"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3c2354ad-e447-4916-8232-676d7637270a' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwN30.KGr3WaKIqMHsvYRDRhGT6sGNu5CvKvNwvr_ExNARz9M","level":"info","message":"auth send jwt","requestID":"c27a4206d8e1249b78f12e666016225e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c27a4206d8e1249b78f12e666016225e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c27a4206d8e1249b78f12e666016225e"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.831461,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"c27a4206d8e1249b78f12e666016225e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841907,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwN30.KGr3WaKIqMHsvYRDRhGT6sGNu5CvKvNwvr_ExNARz9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c27a4206d8e1249b78f12e666016225e","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ce857667-d071-4f5f-bd5e-2819c172d4b3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.5373743} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c27a4206d8e1249b78f12e666016225e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f6014ab-4f80-44e7-9519-a767c9cc7d31","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.5430925} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"c27a4206d8e1249b78f12e666016225e","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"ce8ee430-9bf1-4bfa-94a3-bb9e84b1a410","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.577981} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5d98be0-3bba-4957-9305-851f9fdf3325","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.5782456} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"c27a4206d8e1249b78f12e666016225e","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.577950192Z"}]},"request_id":"5ea87e77-e5bc-46b5-a19b-3deef50663a4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.5831707} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c27a4206d8e1249b78f12e666016225e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c27a4206d8e1249b78f12e666016225e"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"c27a4206d8e1249b78f12e666016225e","responseTime":90,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c27a4206d8e1249b78f12e666016225e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwN30.KGr3WaKIqMHsvYRDRhGT6sGNu5CvKvNwvr_ExNARz9M","level":"info","message":"auth send jwt","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.860349,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"67caa9d4bd7b3ab75fedec3cdab84b33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841907,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwN30.KGr3WaKIqMHsvYRDRhGT6sGNu5CvKvNwvr_ExNARz9M"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"724f97a2-5c18-41d9-8be6-3d90217e5a4c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.6313865} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60a1abe9-b596-4783-bd32-6d8621eb093c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.6363587} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"7b60978c-ffd3-4e24-9aac-344f0210a3df","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.6678307} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd01dde5-75bd-4e7c-bb29-b064990c4c25","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.667864} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.667805808Z"}]},"request_id":"57904a1a-8df2-4432-a357-15db556a6f3a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841907.672258} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33"} gateway-1 | {"time_local":"28/Apr/2025:12:05:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"67caa9d4bd7b3ab75fedec3cdab84b33","responseTime":84,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M","level":"info","message":"auth send jwt","requestID":"5856f82be24745698f0b48c2e3bfa325"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5856f82be24745698f0b48c2e3bfa325","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M","level":"info","message":"auth send jwt","requestID":"157716a4a1d0c32de9a2626f174737a1"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5856f82be24745698f0b48c2e3bfa325"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"157716a4a1d0c32de9a2626f174737a1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"157716a4a1d0c32de9a2626f174737a1"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689011,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"5856f82be24745698f0b48c2e3bfa325","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5856f82be24745698f0b48c2e3bfa325","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.56555,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"157716a4a1d0c32de9a2626f174737a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"157716a4a1d0c32de9a2626f174737a1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.667805808Z"}]},"request_id":"013b9347-81af-4d21-94a7-ac65ce833f00","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841908.681496} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5856f82be24745698f0b48c2e3bfa325","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.577950192Z"}]},"request_id":"5600e147-b853-4404-9441-52240cbe933e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841908.6820943} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"157716a4a1d0c32de9a2626f174737a1","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2aa8f716-1784-4b5f-9199-3b3bc18d1729","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841908.6861026} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5856f82be24745698f0b48c2e3bfa325","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d349151-dadf-45cd-b32e-e63df494dfd8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841908.687253} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"157716a4a1d0c32de9a2626f174737a1","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.577950192Z"}]},"request_id":"82cefa65-f7a3-48b5-b61f-dd82655afba1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841908.6895525} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"157716a4a1d0c32de9a2626f174737a1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"157716a4a1d0c32de9a2626f174737a1"} gateway-1 | {"time_local":"28/Apr/2025:12:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/00cc73df-2736-42c9-8b70-b8c98665f61d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"157716a4a1d0c32de9a2626f174737a1"} device-1 | {"level":"info","message":"PATCH /devices/00cc73df-2736-42c9-8b70-b8c98665f61d 200 18ms","method":"PATCH","requestID":"157716a4a1d0c32de9a2626f174737a1","responseTime":18,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M","level":"info","message":"auth send jwt","requestID":"f985d94a8d0d55b8b05469c3785308c1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f985d94a8d0d55b8b05469c3785308c1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f985d94a8d0d55b8b05469c3785308c1"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686683,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"f985d94a8d0d55b8b05469c3785308c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"f985d94a8d0d55b8b05469c3785308c1","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.667805808Z"}]},"request_id":"63d0ee74-b8f2-4fa2-8ec0-1cf945536441","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841908.7337694} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5856f82be24745698f0b48c2e3bfa325","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5856f82be24745698f0b48c2e3bfa325"} gateway-1 | {"time_local":"28/Apr/2025:12:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.092","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5856f82be24745698f0b48c2e3bfa325"} device-1 | {"level":"info","message":"PATCH /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c 200 87ms","method":"PATCH","requestID":"5856f82be24745698f0b48c2e3bfa325","responseTime":87,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M","level":"info","message":"auth send jwt","requestID":"cd1f404ad23ac3ec82f94e251faebe57"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cd1f404ad23ac3ec82f94e251faebe57","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cd1f404ad23ac3ec82f94e251faebe57"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f985d94a8d0d55b8b05469c3785308c1"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:08Z"} gateway-1 | {"time_local":"28/Apr/2025:12:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/00cc73df-2736-42c9-8b70-b8c98665f61d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f985d94a8d0d55b8b05469c3785308c1"} device-1 | {"level":"info","message":"POST /devices/00cc73df-2736-42c9-8b70-b8c98665f61d/websocket 200 47ms","method":"POST","requestID":"f985d94a8d0d55b8b05469c3785308c1","responseTime":47,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d/websocket"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805917,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cd1f404ad23ac3ec82f94e251faebe57","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cd1f404ad23ac3ec82f94e251faebe57","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cd1f404ad23ac3ec82f94e251faebe57"} gateway-1 | {"time_local":"28/Apr/2025:12:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"cd1f404ad23ac3ec82f94e251faebe57"} device-1 | {"level":"info","message":"POST /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/websocket 200 39ms","method":"POST","requestID":"cd1f404ad23ac3ec82f94e251faebe57","responseTime":39,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M","level":"info","message":"auth send jwt","requestID":"7e96173d8f275f3dd685c524c9866e23"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7e96173d8f275f3dd685c524c9866e23","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7e96173d8f275f3dd685c524c9866e23"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670695,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7e96173d8f275f3dd685c524c9866e23","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7e96173d8f275f3dd685c524c9866e23","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.577950192Z"}]},"request_id":"54767355-cf4b-4e09-994c-95c11d3cb1bb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841908.8190827} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7e96173d8f275f3dd685c524c9866e23","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7e96173d8f275f3dd685c524c9866e23"} gateway-1 | {"time_local":"28/Apr/2025:12:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/00cc73df-2736-42c9-8b70-b8c98665f61d? 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":"7e96173d8f275f3dd685c524c9866e23"} device-1 | {"level":"info","message":"GET /devices/00cc73df-2736-42c9-8b70-b8c98665f61d? 200 34ms","method":"GET","requestID":"7e96173d8f275f3dd685c524c9866e23","responseTime":34,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M","level":"info","message":"auth send jwt","requestID":"48c8ec284599da43a83348f609f3a6f4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"48c8ec284599da43a83348f609f3a6f4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"48c8ec284599da43a83348f609f3a6f4"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.629173,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"48c8ec284599da43a83348f609f3a6f4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"48c8ec284599da43a83348f609f3a6f4","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.667805808Z"}]},"request_id":"c700a2bb-2e90-429b-bbf1-2c01eb33ffc9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841908.8329194} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"48c8ec284599da43a83348f609f3a6f4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"48c8ec284599da43a83348f609f3a6f4"} gateway-1 | {"time_local":"28/Apr/2025:12:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c? 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":"48c8ec284599da43a83348f609f3a6f4"} device-1 | {"level":"info","message":"GET /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c? 200 9ms","method":"GET","requestID":"48c8ec284599da43a83348f609f3a6f4","responseTime":9,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M","level":"info","message":"auth send jwt","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"6a816cbf89151c1d81cd59aed756f1ce","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.715144,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6a816cbf89151c1d81cd59aed756f1ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6a816cbf89151c1d81cd59aed756f1ce","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Attempting to run experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Attempting to book experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Successfully booked experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"07aa5d70-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"07aa8480-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.818956,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.820674,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07aa5d70-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"07aa5d70-2429-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07aa8480-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"07aa8480-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.667805808Z"}]},"request_id":"94328a66-9ba9-42ab-b37c-b6b6b9e6d525","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841908.9753346} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.577950192Z"}]},"request_id":"e4ad485e-207f-44c7-8119-b90989678af9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841908.9756572} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"07aa8480-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"07aa5d70-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"07aa8480-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c? 200 44ms","method":"GET","requestID":"07aa8480-2429-11f0-a0e6-516e7b85a777","responseTime":44,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"07aa5d70-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/00cc73df-2736-42c9-8b70-b8c98665f61d? 200 46ms","method":"GET","requestID":"07aa5d70-2429-11f0-a0e6-516e7b85a777","responseTime":46,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Setting up experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Successfully set up experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"07be81b0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"07becfd0-2429-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Successfully running experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07bef6e0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933465,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07be81b0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"07be81b0-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.828459,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07becfd0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"07becfd0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87951e8d-773f-4723-97ae-1dbff5c6b68e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.0761638} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.616241,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07bef6e0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"07bef6e0-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.577950192Z"}]},"request_id":"a0263f1f-2296-4b65-b123-b66837caf6e5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.0775547} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.667805808Z"}]},"request_id":"8682312e-d3f7-4470-acfa-879409cac062","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.0786378} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"07be81b0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"07becfd0-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb860d4c-f24c-4696-bd1b-c32a93639d21#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb860d4c-f24c-4696-bd1b-c32a93639d21","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"478b38af-df5f-4b89-bbca-b49b2ae96e35","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.1053996} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cfbcd5d8-99fa-4b87-bb28-d8f70678c372","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.1055603} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"6a816cbf89151c1d81cd59aed756f1ce","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07bef6e0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/00cc73df-2736-42c9-8b70-b8c98665f61d/signaling 200 39ms","method":"POST","requestID":"07bef6e0-2429-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"07be81b0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/00cc73df-2736-42c9-8b70-b8c98665f61d? 200 43ms","method":"GET","requestID":"07be81b0-2429-11f0-a0e6-516e7b85a777","responseTime":43,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"07becfd0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c? 200 42ms","method":"GET","requestID":"07becfd0-2429-11f0-a0e6-516e7b85a777","responseTime":42,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07c55f80-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"414562ac-3d58-4942-9c99-77929cc776a4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.1157303} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.396291,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07c5fbc0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07c55f80-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"07c55f80-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} gateway-1 | {"time_local":"28/Apr/2025:12:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.281","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"level":"info","message":"POST /experiments? 201 253ms","method":"POST","requestID":"6a816cbf89151c1d81cd59aed756f1ce","responseTime":253,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07c55f80-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/signaling 200 9ms","method":"POST","requestID":"07c55f80-2429-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7e55819-4be0-46cd-8da7-b68b60a2526a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.1222286} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOX0.IsFIsnnZx4ajfQ30TWClPjgnN93Z5gt0tl5Fpkb5gFI","level":"info","message":"auth send jwt","requestID":"4d6e254c2b6e431d50c2e5192acbe8e3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4d6e254c2b6e431d50c2e5192acbe8e3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4d6e254c2b6e431d50c2e5192acbe8e3"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.189691,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07c5fbc0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","rebac_allow":false,"scope_allow":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":"07c5fbc0-2429-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703135,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4d6e254c2b6e431d50c2e5192acbe8e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841909,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOX0.IsFIsnnZx4ajfQ30TWClPjgnN93Z5gt0tl5Fpkb5gFI"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07c5fbc0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4d6e254c2b6e431d50c2e5192acbe8e3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/00cc73df-2736-42c9-8b70-b8c98665f61d/signaling 200 39ms","method":"POST","requestID":"07c5fbc0-2429-11f0-a0e6-516e7b85a777","responseTime":39,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d/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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.577950192Z"}]},"request_id":"d58149ba-bfa9-4343-9149-f41a70a27ad9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.1568046} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07cc3d50-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4d6e254c2b6e431d50c2e5192acbe8e3","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4d6e254c2b6e431d50c2e5192acbe8e3"} gateway-1 | {"time_local":"28/Apr/2025:12:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/00cc73df-2736-42c9-8b70-b8c98665f61d? 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":"4d6e254c2b6e431d50c2e5192acbe8e3"} device-1 | {"level":"info","message":"GET /devices/00cc73df-2736-42c9-8b70-b8c98665f61d? 200 37ms","method":"GET","requestID":"4d6e254c2b6e431d50c2e5192acbe8e3","responseTime":37,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df93dcae-6afc-4f70-8ebd-51ae14f8b0a2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.1617725} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.070377,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07cc3d50-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"07cc3d50-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOX0.IsFIsnnZx4ajfQ30TWClPjgnN93Z5gt0tl5Fpkb5gFI","level":"info","message":"auth send jwt","requestID":"0597315cec25cd51f9af0479b5ef08fc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0597315cec25cd51f9af0479b5ef08fc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07cc3d50-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/signaling 200 9ms","method":"POST","requestID":"07cc3d50-2429-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0597315cec25cd51f9af0479b5ef08fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Building connection plan","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} 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":"74d0fe78-1186-425f-8552-f78178e214f7"},{"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":"4ad153c6-a69d-4eff-b38f-d2aacc40ac21"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5f60f11e-9f76-4913-803b-2ec8eccfc3a0"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} 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/00cc73df-2736-42c9-8b70-b8c98665f61d"},{"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/efad53b0-e4f6-47fd-a3f7-d185a0e1386c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56060","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944117,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0597315cec25cd51f9af0479b5ef08fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841909,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOX0.IsFIsnnZx4ajfQ30TWClPjgnN93Z5gt0tl5Fpkb5gFI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0597315cec25cd51f9af0479b5ef08fc","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.821434,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841908,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkwOH0.TqhEHMuuHS2-v3Ya0_7_zJlLQqR4eUpQBZsCYI7o44M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:07.667805808Z"}]},"request_id":"249677c8-aa3b-42e1-be41-a24d11e6f758","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.1734128} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0597315cec25cd51f9af0479b5ef08fc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0597315cec25cd51f9af0479b5ef08fc"} gateway-1 | {"time_local":"28/Apr/2025:12:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c? 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":"0597315cec25cd51f9af0479b5ef08fc"} device-1 | {"level":"info","message":"GET /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c? 200 35ms","method":"GET","requestID":"0597315cec25cd51f9af0479b5ef08fc","responseTime":35,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"d73ba8d1-bc5c-4d79-8e25-44469f522ee5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.2031536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef84b01d-d84b-4eea-b4e8-022e6f6d6eb0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.203281} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777","responseTime":28,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19'","requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19'","requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"07cdeb00-2429-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6a816cbf89151c1d81cd59aed756f1ce"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07dcdf20-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc610af1-0d4e-4d5f-a493-b9a87076fe68","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.2700806} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.204822,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07dcdf20-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"07dcdf20-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07dcdf20-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/00cc73df-2736-42c9-8b70-b8c98665f61d/signaling 200 32ms","method":"POST","requestID":"07dcdf20-2429-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07e20f40-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f5d40d0-3ddf-4b03-a339-19bddc056117","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841909.3039763} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.173777,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"07e20f40-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"07e20f40-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07e20f40-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/signaling 200 8ms","method":"POST","requestID":"07e20f40-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/signaling"} device-1 | {"device":"efad53b0-e4f6-47fd-a3f7-d185a0e1386c","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":"25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"00cc73df-2736-42c9-8b70-b8c98665f61d","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":"25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"00cc73df-2736-42c9-8b70-b8c98665f61d","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":"00cc73df-2736-42c9-8b70-b8c98665f61d","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":"00cc73df-2736-42c9-8b70-b8c98665f61d","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":"00cc73df-2736-42c9-8b70-b8c98665f61d","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/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"355d6d7ddf252c8b29bb33665fbf7e22","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"355d6d7ddf252c8b29bb33665fbf7e22","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d"},{"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/efad53b0-e4f6-47fd-a3f7-d185a0e1386c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19"}}},"level":"info","message":"received a callback","requestID":"355d6d7ddf252c8b29bb33665fbf7e22"} device-1 | {"device":"efad53b0-e4f6-47fd-a3f7-d185a0e1386c","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":"efad53b0-e4f6-47fd-a3f7-d185a0e1386c","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":"efad53b0-e4f6-47fd-a3f7-d185a0e1386c","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 5ms","method":"POST","requestID":"355d6d7ddf252c8b29bb33665fbf7e22","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"355d6d7ddf252c8b29bb33665fbf7e22"} device-1 | {"device":"efad53b0-e4f6-47fd-a3f7-d185a0e1386c","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":"00cc73df-2736-42c9-8b70-b8c98665f61d","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":"00cc73df-2736-42c9-8b70-b8c98665f61d","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":"efad53b0-e4f6-47fd-a3f7-d185a0e1386c","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":"25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","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/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8e72c83755f70c3935ba330231b8847e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8e72c83755f70c3935ba330231b8847e","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/00cc73df-2736-42c9-8b70-b8c98665f61d"},{"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/efad53b0-e4f6-47fd-a3f7-d185a0e1386c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19"}}},"level":"info","message":"received a callback","requestID":"8e72c83755f70c3935ba330231b8847e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"091eadf0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54ffc1ca-850e-4468-a6ec-5c445d535bbc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.3793814} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.283238,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"091eadf0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","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":"091eadf0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"091eadf0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19 200 7ms","method":"GET","requestID":"091eadf0-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"8e72c83755f70c3935ba330231b8847e","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e72c83755f70c3935ba330231b8847e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0925d9e0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa83419d-d79b-46ba-8203-9585d7547085","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.4260404} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.285819,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:11Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxMX0.P0Qd8RgxN4BSg8xCzsw2fCT9K-89bJIAnLZ0qV13PWA","level":"info","message":"auth send jwt","requestID":"7080b56a200893c8ad61fe9ef423086c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0925d9e0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7080b56a200893c8ad61fe9ef423086c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0925d9e0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21","requestID":"7080b56a200893c8ad61fe9ef423086c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0925d9e0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/00cc73df-2736-42c9-8b70-b8c98665f61d/signaling 200 8ms","method":"POST","requestID":"0925d9e0-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.911146,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:11Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"09276080-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7080b56a200893c8ad61fe9ef423086c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841911,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxMX0.P0Qd8RgxN4BSg8xCzsw2fCT9K-89bJIAnLZ0qV13PWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"7080b56a200893c8ad61fe9ef423086c","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ecf5429-d17c-4b50-95ef-c9817bd433c8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.4609787} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.72179,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:11Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21","requestID":"7080b56a200893c8ad61fe9ef423086c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"09276080-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"09276080-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7080b56a200893c8ad61fe9ef423086c"} experiment-1 | {"level":"info","message":"GET /experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21 200 35ms","method":"GET","requestID":"7080b56a200893c8ad61fe9ef423086c","responseTime":35,"status":200,"url":"/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"09276080-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/signaling 200 33ms","method":"POST","requestID":"09276080-2429-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxMX0.P0Qd8RgxN4BSg8xCzsw2fCT9K-89bJIAnLZ0qV13PWA","level":"info","message":"auth send jwt","requestID":"7b76b8af21efec02ba5c5ca3c4de1371"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7b76b8af21efec02ba5c5ca3c4de1371","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21","requestID":"7b76b8af21efec02ba5c5ca3c4de1371"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.69309,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7b76b8af21efec02ba5c5ca3c4de1371","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841911,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxMX0.P0Qd8RgxN4BSg8xCzsw2fCT9K-89bJIAnLZ0qV13PWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7b76b8af21efec02ba5c5ca3c4de1371","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Attempting to finish experiment","requestID":"7b76b8af21efec02ba5c5ca3c4de1371"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"092e1740-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.40598,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"092e1740-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841911,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxMX0.P0Qd8RgxN4BSg8xCzsw2fCT9K-89bJIAnLZ0qV13PWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"092e1740-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"00cc73df-2736-42c9-8b70-b8c98665f61d","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":"00cc73df-2736-42c9-8b70-b8c98665f61d","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":"00cc73df-2736-42c9-8b70-b8c98665f61d","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":"efad53b0-e4f6-47fd-a3f7-d185a0e1386c","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":"efad53b0-e4f6-47fd-a3f7-d185a0e1386c","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":"efad53b0-e4f6-47fd-a3f7-d185a0e1386c","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/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"5ae01903-3297-41ca-9f1a-91a697804735","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.5137813} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6e9ca3eea7ba43abb820e78ad6380780","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a19ba7b-e603-46ef-a9e7-f903405c40da","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.514109} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6e9ca3eea7ba43abb820e78ad6380780","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"092e1740-2429-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/00cc73df-2736-42c9-8b70-b8c98665f61d"},{"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/efad53b0-e4f6-47fd-a3f7-d185a0e1386c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19"}}},"level":"info","message":"received a callback","requestID":"6e9ca3eea7ba43abb820e78ad6380780"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7ffe12ad216bab25ec66181201848741","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7ffe12ad216bab25ec66181201848741","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/00cc73df-2736-42c9-8b70-b8c98665f61d"},{"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/efad53b0-e4f6-47fd-a3f7-d185a0e1386c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19"}}},"level":"info","message":"received a callback","requestID":"7ffe12ad216bab25ec66181201848741"} device-1 | {"data":{"peerconnection":"25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"092e1740-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19 204 86ms","method":"DELETE","requestID":"092e1740-2429-11f0-a0e6-516e7b85a777","responseTime":86,"status":204,"url":"/peerconnections/25bd6ad8-1906-4ad1-b19d-dc6f9c7fad19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"},"level":"info","message":"Successfully finished experiment","requestID":"7b76b8af21efec02ba5c5ca3c4de1371"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"09415120-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00cc73df-2736-42c9-8b70-b8c98665f61d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e277fc6a-0e53-4141-904b-997eaf344f7e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.6066787} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.442611,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"09415120-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"09415120-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"09415120-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/00cc73df-2736-42c9-8b70-b8c98665f61d/signaling 200 8ms","method":"POST","requestID":"09415120-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/00cc73df-2736-42c9-8b70-b8c98665f61d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0942d7c0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb860d4c-f24c-4696-bd1b-c32a93639d21': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb860d4c-f24c-4696-bd1b-c32a93639d21","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"23e1d37e-1106-4d42-ad8b-ac7803b4ca32","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.6146169} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"745b094b-78db-4698-a1b5-25481cf71ba0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.6147826} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"7b76b8af21efec02ba5c5ca3c4de1371","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fefad53b0-e4f6-47fd-a3f7-d185a0e1386c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0f11b1c-d623-4e4d-9875-7a4d933f1bad","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.6170495} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.267496,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0942d7c0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0942d7c0-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0942d7c0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/signaling 200 9ms","method":"POST","requestID":"0942d7c0-2429-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21","requestID":"7b76b8af21efec02ba5c5ca3c4de1371"} gateway-1 | {"time_local":"28/Apr/2025:12:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.243","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b76b8af21efec02ba5c5ca3c4de1371"} experiment-1 | {"level":"info","message":"DELETE /experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21 204 240ms","method":"DELETE","requestID":"7b76b8af21efec02ba5c5ca3c4de1371","responseTime":240,"status":204,"url":"/experiments/eb860d4c-f24c-4696-bd1b-c32a93639d21"} gateway-1 | {"time_local":"28/Apr/2025:12:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.939","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"22b346d460635f0ea8f76ecb5f099a89"} gateway-1 | {"time_local":"28/Apr/2025:12:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.927","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"fe3874c4c9e6b041d353b667f58b11b5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 194ms","method":"POST","requestID":"6e9ca3eea7ba43abb820e78ad6380780","responseTime":194,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/00cc73df-2736-42c9-8b70-b8c98665f61d' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/efad53b0-e4f6-47fd-a3f7-d185a0e1386c' closed"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.198","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e9ca3eea7ba43abb820e78ad6380780"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"7ffe12ad216bab25ec66181201848741","responseTime":195,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.200","http_referrer":"","http_user_agent":"node-fetch","requestID":"7ffe12ad216bab25ec66181201848741"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxMX0.P0Qd8RgxN4BSg8xCzsw2fCT9K-89bJIAnLZ0qV13PWA","level":"info","message":"auth send jwt","requestID":"856225f3695311253c856d80ecb7575d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"856225f3695311253c856d80ecb7575d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"856225f3695311253c856d80ecb7575d"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.831245,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"856225f3695311253c856d80ecb7575d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841911,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxMX0.P0Qd8RgxN4BSg8xCzsw2fCT9K-89bJIAnLZ0qV13PWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"856225f3695311253c856d80ecb7575d","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1d277362-d305-4ae6-b148-df6d4675b775","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.7601054} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"856225f3695311253c856d80ecb7575d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e4f6f4b-fe44-49f5-b207-4f8a9d963fbf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.7660413} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"856225f3695311253c856d80ecb7575d","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"332087fa-bb23-4321-b960-0aa21963592d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.803062} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1095802c-db04-4588-bd2f-1eba3c411c12","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.803228} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"856225f3695311253c856d80ecb7575d","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:11.803021465Z"}]},"request_id":"1266de73-909a-460c-ab43-50302dafb6c0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.8078532} gateway-1 | {"time_local":"28/Apr/2025:12:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"856225f3695311253c856d80ecb7575d"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"856225f3695311253c856d80ecb7575d"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"856225f3695311253c856d80ecb7575d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"856225f3695311253c856d80ecb7575d","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxMX0.P0Qd8RgxN4BSg8xCzsw2fCT9K-89bJIAnLZ0qV13PWA","level":"info","message":"auth send jwt","requestID":"4372e2f4fe97a1d1449f770d047b3054"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4372e2f4fe97a1d1449f770d047b3054","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4372e2f4fe97a1d1449f770d047b3054"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.781748,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4372e2f4fe97a1d1449f770d047b3054","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841911,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxMX0.P0Qd8RgxN4BSg8xCzsw2fCT9K-89bJIAnLZ0qV13PWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4372e2f4fe97a1d1449f770d047b3054","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7687a6d0-234f-491c-928b-19a139b1d30a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.9010713} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4372e2f4fe97a1d1449f770d047b3054","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe835d24-a0ec-498f-a03a-744bf6fad9cc","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.9058256} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4372e2f4fe97a1d1449f770d047b3054","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"235189fd-e9ce-4b2b-93b8-aa6c65281deb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.91494} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5345b78-97cb-4f38-9d9f-1f478521be2f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.9150977} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"4372e2f4fe97a1d1449f770d047b3054","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:11.914904894Z"}]},"request_id":"076d27d7-00c9-467a-8173-1519997e87a4","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841911.939562} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4372e2f4fe97a1d1449f770d047b3054","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4372e2f4fe97a1d1449f770d047b3054"} device-1 | {"level":"info","message":"POST /devices? 201 126ms","method":"POST","requestID":"4372e2f4fe97a1d1449f770d047b3054","responseTime":126,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:05:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4372e2f4fe97a1d1449f770d047b3054"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e9f2eb8130e0a3be8888f881828572a9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e9f2eb8130e0a3be8888f881828572a9","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"262c24294ac2bbec598b65f5d9897ac4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"262c24294ac2bbec598b65f5d9897ac4","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/03002c65-1d8a-4196-a4b9-8a1da415753d/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":"e9f2eb8130e0a3be8888f881828572a9"} device-1 | {"level":"info","message":"OPTIONS /devices/03002c65-1d8a-4196-a4b9-8a1da415753d/websocket 200 1ms","method":"OPTIONS","requestID":"e9f2eb8130e0a3be8888f881828572a9","responseTime":1,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/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":"262c24294ac2bbec598b65f5d9897ac4"} device-1 | {"level":"info","message":"OPTIONS /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/websocket 200 0ms","method":"OPTIONS","requestID":"262c24294ac2bbec598b65f5d9897ac4","responseTime":0,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U","level":"info","message":"auth send jwt","requestID":"85605ff6638f300cb7056f1f716e32df"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"85605ff6638f300cb7056f1f716e32df"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"85605ff6638f300cb7056f1f716e32df","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U","level":"info","message":"auth send jwt","requestID":"766983fd6b2468fff2ec440ac85a5e71"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"766983fd6b2468fff2ec440ac85a5e71","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"766983fd6b2468fff2ec440ac85a5e71"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677067,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"85605ff6638f300cb7056f1f716e32df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"85605ff6638f300cb7056f1f716e32df","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768984,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"766983fd6b2468fff2ec440ac85a5e71","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"766983fd6b2468fff2ec440ac85a5e71","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"85605ff6638f300cb7056f1f716e32df"} gateway-1 | {"time_local":"28/Apr/2025:12:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/03002c65-1d8a-4196-a4b9-8a1da415753d/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":"85605ff6638f300cb7056f1f716e32df"} device-1 | {"level":"info","message":"POST /devices/03002c65-1d8a-4196-a4b9-8a1da415753d/websocket 200 51ms","method":"POST","requestID":"85605ff6638f300cb7056f1f716e32df","responseTime":51,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"766983fd6b2468fff2ec440ac85a5e71"} gateway-1 | {"time_local":"28/Apr/2025:12:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.066","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"766983fd6b2468fff2ec440ac85a5e71"} device-1 | {"level":"info","message":"POST /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/websocket 200 60ms","method":"POST","requestID":"766983fd6b2468fff2ec440ac85a5e71","responseTime":60,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U","level":"info","message":"auth send jwt","requestID":"6ca46f86a9dfc94412a2d36cffdf8540"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6ca46f86a9dfc94412a2d36cffdf8540","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ca46f86a9dfc94412a2d36cffdf8540"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595315,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6ca46f86a9dfc94412a2d36cffdf8540","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6ca46f86a9dfc94412a2d36cffdf8540","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:11.803021465Z"}]},"request_id":"ae45bd9f-74af-4606-810e-22c36f735634","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.39111} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6ca46f86a9dfc94412a2d36cffdf8540","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ca46f86a9dfc94412a2d36cffdf8540"} gateway-1 | {"time_local":"28/Apr/2025:12:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/03002c65-1d8a-4196-a4b9-8a1da415753d? 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":"6ca46f86a9dfc94412a2d36cffdf8540"} device-1 | {"level":"info","message":"GET /devices/03002c65-1d8a-4196-a4b9-8a1da415753d? 200 9ms","method":"GET","requestID":"6ca46f86a9dfc94412a2d36cffdf8540","responseTime":9,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U","level":"info","message":"auth send jwt","requestID":"80dc7afc613038972fb43fa7ed57bc29"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"80dc7afc613038972fb43fa7ed57bc29","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80dc7afc613038972fb43fa7ed57bc29"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736067,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"80dc7afc613038972fb43fa7ed57bc29","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"80dc7afc613038972fb43fa7ed57bc29","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:11.914904894Z"}]},"request_id":"63fd4858-ab9b-46cd-a060-4fa5c3ccc9f8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.4042351} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"80dc7afc613038972fb43fa7ed57bc29","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80dc7afc613038972fb43fa7ed57bc29"} device-1 | {"level":"info","message":"GET /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230? 200 9ms","method":"GET","requestID":"80dc7afc613038972fb43fa7ed57bc29","responseTime":9,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230?"} gateway-1 | {"time_local":"28/Apr/2025:12:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80dc7afc613038972fb43fa7ed57bc29"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U","level":"info","message":"auth send jwt","requestID":"4bec134c96c28a60021ea2aa21265a87"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4bec134c96c28a60021ea2aa21265a87","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4bec134c96c28a60021ea2aa21265a87"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.674727,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"4bec134c96c28a60021ea2aa21265a87","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4bec134c96c28a60021ea2aa21265a87","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Attempting to run experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Attempting to book experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Successfully booked experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0afbd260-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0afbf970-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623208,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0afbd260-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0afbd260-2429-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.73739,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0afbf970-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0afbf970-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:11.803021465Z"}]},"request_id":"c581c15a-5e04-417f-bb3d-2482e21ab02d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.5333772} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0afbd260-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:11.914904894Z"}]},"request_id":"2223a3c3-01ec-4cff-8caa-006532faec9d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.5345364} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0afbf970-2429-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0afbd260-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/03002c65-1d8a-4196-a4b9-8a1da415753d? 200 36ms","method":"GET","requestID":"0afbd260-2429-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0afbf970-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230? 200 35ms","method":"GET","requestID":"0afbf970-2429-11f0-a0e6-516e7b85a777","responseTime":35,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Setting up experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Successfully set up experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b0a9f70-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b0ac680-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b0e9710-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.009072,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b0a9f70-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0b0a9f70-2429-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Successfully running experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.116128,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b0ac680-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0b0ac680-2429-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80ac054d-d110-4dda-b6c3-bce3b36b7ec5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.6312807} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.645677,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b0e9710-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0b0e9710-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:11.803021465Z"}]},"request_id":"2809efb7-2549-43fe-8664-bf796b795977","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.6335366} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"0b0a9f70-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b0e9710-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:11.914904894Z"}]},"request_id":"3e770c7e-daa4-40dc-a628-33c6f1559235","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.6360257} device-1 | {"level":"info","message":"POST /devices/03002c65-1d8a-4196-a4b9-8a1da415753d/signaling 200 12ms","method":"POST","requestID":"0b0e9710-2429-11f0-a0e6-516e7b85a777","responseTime":12,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b0ac680-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b10b9f0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e20c85f-2c8c-4d63-a6cc-94c5449c867e#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e20c85f-2c8c-4d63-a6cc-94c5449c867e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"059e5a19-f7d2-47fc-bbcc-25fbc623fdaa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.6402023} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1629528-e541-4e37-8561-5c957de23b72","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.6405} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b0a9f70-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/03002c65-1d8a-4196-a4b9-8a1da415753d? 200 43ms","method":"GET","requestID":"0b0a9f70-2429-11f0-a0e6-516e7b85a777","responseTime":43,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b0ac680-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"4bec134c96c28a60021ea2aa21265a87","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} device-1 | {"level":"info","message":"GET /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230? 200 44ms","method":"GET","requestID":"0b0ac680-2429-11f0-a0e6-516e7b85a777","responseTime":44,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9307ba61-1bc4-4df3-91d2-554e483e9850","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.6452358} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.458754,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b10b9f0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0b10b9f0-2429-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b121980-2429-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4bec134c96c28a60021ea2aa21265a87"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} gateway-1 | {"time_local":"28/Apr/2025:12:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.266","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"level":"info","message":"POST /experiments? 201 239ms","method":"POST","requestID":"4bec134c96c28a60021ea2aa21265a87","responseTime":239,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b10b9f0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/signaling 200 36ms","method":"POST","requestID":"0b10b9f0-2429-11f0-a0e6-516e7b85a777","responseTime":36,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/signaling"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ab49b8a-2d3e-4555-997a-1b5ee25b1957","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.6768312} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.120221,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b121980-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0b121980-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U","level":"info","message":"auth send jwt","requestID":"e1a90a655fa17da5f5130ae9afc2ef6e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e1a90a655fa17da5f5130ae9afc2ef6e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e1a90a655fa17da5f5130ae9afc2ef6e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b121980-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/03002c65-1d8a-4196-a4b9-8a1da415753d/signaling 200 33ms","method":"POST","requestID":"0b121980-2429-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.832323,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"e1a90a655fa17da5f5130ae9afc2ef6e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e1a90a655fa17da5f5130ae9afc2ef6e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b1770b0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05: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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:11.803021465Z"}]},"request_id":"cb244993-5b17-42ce-aabd-256ca253df3e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.6866767} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e1a90a655fa17da5f5130ae9afc2ef6e","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da7b9340-289a-454a-be15-98c1bbb9b84e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.6879547} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.537925,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b1770b0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","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":"e1a90a655fa17da5f5130ae9afc2ef6e"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0b1770b0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/03002c65-1d8a-4196-a4b9-8a1da415753d? 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":"e1a90a655fa17da5f5130ae9afc2ef6e"} device-1 | {"level":"info","message":"GET /devices/03002c65-1d8a-4196-a4b9-8a1da415753d? 200 10ms","method":"GET","requestID":"e1a90a655fa17da5f5130ae9afc2ef6e","responseTime":10,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b1770b0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/signaling 200 9ms","method":"POST","requestID":"0b1770b0-2429-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Building connection plan","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e588012d-d15b-41ac-bc06-28e45820ad64"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"6e9731a4-383c-430d-849d-b49dd305389b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"67fb2ccd-8633-4d5d-b3dd-729d69ca15aa"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4bec134c96c28a60021ea2aa21265a87"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4bec134c96c28a60021ea2aa21265a87"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U","level":"info","message":"auth send jwt","requestID":"04eac47c4fe52df889aa1e5c14ecbb41"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"04eac47c4fe52df889aa1e5c14ecbb41","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"0b191e60-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04eac47c4fe52df889aa1e5c14ecbb41"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":24.771735,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b191e60-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0b191e60-2429-11f0-a0e6-516e7b85a777","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.553161,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"04eac47c4fe52df889aa1e5c14ecbb41","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841914,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNH0.cVt43OT-sUoYdwnTrV82TJqwtZgr13FzQAObM75PL7U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"04eac47c4fe52df889aa1e5c14ecbb41","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:11.914904894Z"}]},"request_id":"485b439e-48d5-47ff-b406-671eebb106c1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.7261083} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"04eac47c4fe52df889aa1e5c14ecbb41","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04eac47c4fe52df889aa1e5c14ecbb41"} gateway-1 | {"time_local":"28/Apr/2025:12:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230? 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":"04eac47c4fe52df889aa1e5c14ecbb41"} device-1 | {"level":"info","message":"GET /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230? 200 34ms","method":"GET","requestID":"04eac47c4fe52df889aa1e5c14ecbb41","responseTime":34,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"e6ced666-b9cc-472e-95d8-ab38e64fefd1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.729952} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45b1809a-7d5f-4ea4-b899-9a44b4a33930","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.7301917} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0b191e60-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"0b191e60-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"0b191e60-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b'","requestID":"0b191e60-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b'","requestID":"0b191e60-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"0b191e60-2429-11f0-a0e6-516e7b85a777"} 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":"0b191e60-2429-11f0-a0e6-516e7b85a777","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":"0b191e60-2429-11f0-a0e6-516e7b85a777"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b","device":"fe312d2d-a9aa-4f22-9a6b-17e26093e230","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/912c2998-d095-4cbc-95dd-54fa7ab1be5b","device":"03002c65-1d8a-4196-a4b9-8a1da415753d","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/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4bec134c96c28a60021ea2aa21265a87"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b2d90c0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"025e28f3-c4ca-4a76-bcf1-ef0c9082adf6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.8326592} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.834707,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b2d90c0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0b2d90c0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b2d90c0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/03002c65-1d8a-4196-a4b9-8a1da415753d/signaling 200 9ms","method":"POST","requestID":"0b2d90c0-2429-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b2f3e70-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:14Z"} device-1 | {"device":"fe312d2d-a9aa-4f22-9a6b-17e26093e230","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"fe312d2d-a9aa-4f22-9a6b-17e26093e230","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c81ce5c1-24dd-4e2c-a170-6ae07c97ecf7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841914.869642} device-1 | {"device":"03002c65-1d8a-4196-a4b9-8a1da415753d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.87227,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:14Z"} device-1 | {"content":{"canTrickle":true},"device":"03002c65-1d8a-4196-a4b9-8a1da415753d","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/fe312d2d-a9aa-4f22-9a6b-17e26093e230","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b2f3e70-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","object_type":"device","rebac_allow":false,"scope_allow":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":"0b2f3e70-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b2f3e70-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/signaling 200 37ms","method":"POST","requestID":"0b2f3e70-2429-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7618662349006454499 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:zKMh\r\na=ice-pwd:3RUuUIXbpwSCZyDAb34lRkO6\r\na=ice-options:trickle\r\na=fingerprint:sha-256 3F:D6:C2:FC:8D:E4:29:9A:8D:35:44:52:52:60:DD:61:BC:57:2C:AD:CA:18:A8:DE:65:E9:9E:B4:38:43:A2:A1\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"03002c65-1d8a-4196-a4b9-8a1da415753d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 2664936572691571685 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:MVzL\r\na=ice-pwd:DePsmKKZEXGIQlyfP2KoNBVT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 19:92:43:74:19:7C:C7:38:9F:93:95:0E:05:3A:98:2F:CD:C3:3F:BC:F4:F7:E3:32:CD:79:F5:23:63:ED:86:35\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"fe312d2d-a9aa-4f22-9a6b-17e26093e230","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:237934743 1 udp 2113937151 71048d14-157e-4d25-a09a-687d170755f7.local 36448 typ host generation 0 ufrag MVzL network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"fe312d2d-a9aa-4f22-9a6b-17e26093e230","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/fe312d2d-a9aa-4f22-9a6b-17e26093e230'"} device-1 | {"content":{"candidate":"candidate:1784092342 1 udp 2113937151 67ca7457-cb51-43fa-b702-377ab71b8fa2.local 34166 typ host generation 0 ufrag zKMh network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"03002c65-1d8a-4196-a4b9-8a1da415753d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"03002c65-1d8a-4196-a4b9-8a1da415753d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"03002c65-1d8a-4196-a4b9-8a1da415753d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"fe312d2d-a9aa-4f22-9a6b-17e26093e230","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/912c2998-d095-4cbc-95dd-54fa7ab1be5b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"912c2998-d095-4cbc-95dd-54fa7ab1be5b","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bab6130fff26eca45e2a7cf217eb2cac","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bab6130fff26eca45e2a7cf217eb2cac","responseTime":2,"status":200,"url":"/auth"} device-1 | {"device":"fe312d2d-a9aa-4f22-9a6b-17e26093e230","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/fe312d2d-a9aa-4f22-9a6b-17e26093e230"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b"}}},"level":"info","message":"received a callback","requestID":"bab6130fff26eca45e2a7cf217eb2cac"} device-1 | {"device":"fe312d2d-a9aa-4f22-9a6b-17e26093e230","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"bab6130fff26eca45e2a7cf217eb2cac"} device-1 | {"device":"03002c65-1d8a-4196-a4b9-8a1da415753d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"bab6130fff26eca45e2a7cf217eb2cac","responseTime":30,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"912c2998-d095-4cbc-95dd-54fa7ab1be5b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"fe312d2d-a9aa-4f22-9a6b-17e26093e230","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"912c2998-d095-4cbc-95dd-54fa7ab1be5b","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/912c2998-d095-4cbc-95dd-54fa7ab1be5b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"912c2998-d095-4cbc-95dd-54fa7ab1be5b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2ac5b604707ec0afc4d4eb5233eacc00","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2ac5b604707ec0afc4d4eb5233eacc00","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/fe312d2d-a9aa-4f22-9a6b-17e26093e230"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b"}}},"level":"info","message":"received a callback","requestID":"2ac5b604707ec0afc4d4eb5233eacc00"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0b4ba010-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F912c2998-d095-4cbc-95dd-54fa7ab1be5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1551d432-4be1-452b-a05a-81629d71a6f9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.0292947} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.627144,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b4ba010-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b","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":"0b4ba010-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0b4ba010-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b 200 7ms","method":"GET","requestID":"0b4ba010-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNX0.34K6yeLUcaov7IWxiP-R8Yscw3deGsSOQNriDmyzFZc","level":"info","message":"auth send jwt","requestID":"a195ab573a15596613a84ed9d3ca5de1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a195ab573a15596613a84ed9d3ca5de1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e","requestID":"a195ab573a15596613a84ed9d3ca5de1"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:15Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"2ac5b604707ec0afc4d4eb5233eacc00","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"2ac5b604707ec0afc4d4eb5233eacc00"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.533984,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b52f310-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"a195ab573a15596613a84ed9d3ca5de1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841915,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNX0.34K6yeLUcaov7IWxiP-R8Yscw3deGsSOQNriDmyzFZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a195ab573a15596613a84ed9d3ca5de1","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55e0db5b-0baf-41b0-88a1-51d196e6ebb1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.077334} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.463412,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:15Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e","requestID":"a195ab573a15596613a84ed9d3ca5de1"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b52f310-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"28/Apr/2025:12:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a195ab573a15596613a84ed9d3ca5de1"} experiment-1 | {"level":"info","message":"GET /experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e 200 9ms","method":"GET","requestID":"a195ab573a15596613a84ed9d3ca5de1","responseTime":9,"status":200,"url":"/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0b52f310-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b52f310-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/signaling 200 32ms","method":"POST","requestID":"0b52f310-2429-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b582330-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:15Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNX0.34K6yeLUcaov7IWxiP-R8Yscw3deGsSOQNriDmyzFZc","level":"info","message":"auth send jwt","requestID":"cde6cb2bd111dc7a7b673423af433f80"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab7b70ba-bf81-4ace-97ad-7aafda0b5ea1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.111141} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"cde6cb2bd111dc7a7b673423af433f80","responseTime":31,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.584184,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:15Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e","requestID":"cde6cb2bd111dc7a7b673423af433f80"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b582330-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0b582330-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b582330-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.677058,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:15Z"} device-1 | {"level":"info","message":"POST /devices/03002c65-1d8a-4196-a4b9-8a1da415753d/signaling 200 8ms","method":"POST","requestID":"0b582330-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"cde6cb2bd111dc7a7b673423af433f80","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841915,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNX0.34K6yeLUcaov7IWxiP-R8Yscw3deGsSOQNriDmyzFZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cde6cb2bd111dc7a7b673423af433f80","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Attempting to finish experiment","requestID":"cde6cb2bd111dc7a7b673423af433f80"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"0b5a4610-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.658876,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b5a4610-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841915,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNX0.34K6yeLUcaov7IWxiP-R8Yscw3deGsSOQNriDmyzFZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0b5a4610-2429-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b","device":"fe312d2d-a9aa-4f22-9a6b-17e26093e230","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b","device":"03002c65-1d8a-4196-a4b9-8a1da415753d","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/912c2998-d095-4cbc-95dd-54fa7ab1be5b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"912c2998-d095-4cbc-95dd-54fa7ab1be5b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F912c2998-d095-4cbc-95dd-54fa7ab1be5b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F912c2998-d095-4cbc-95dd-54fa7ab1be5b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"53b4dce6-94d7-49a8-becb-03413ed3a8b6","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.159433} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cae6f874-d5d1-4903-a194-291366b41b44","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.1596677} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"0b5a4610-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ec994df4324ebdb8723aa8108598b7ee","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ec994df4324ebdb8723aa8108598b7ee","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"325d5db62dfe2e85bc43a3e806a91370","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/fe312d2d-a9aa-4f22-9a6b-17e26093e230"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b"}}},"level":"info","message":"received a callback","requestID":"ec994df4324ebdb8723aa8108598b7ee"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"325d5db62dfe2e85bc43a3e806a91370","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/fe312d2d-a9aa-4f22-9a6b-17e26093e230"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b"}}},"level":"info","message":"received a callback","requestID":"325d5db62dfe2e85bc43a3e806a91370"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"0b5a4610-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b 204 46ms","method":"DELETE","requestID":"0b5a4610-2429-11f0-a0e6-516e7b85a777","responseTime":46,"status":204,"url":"/peerconnections/912c2998-d095-4cbc-95dd-54fa7ab1be5b"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"},"level":"info","message":"Successfully finished experiment","requestID":"cde6cb2bd111dc7a7b673423af433f80"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b6828c0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe312d2d-a9aa-4f22-9a6b-17e26093e230","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"319dc7cf-65a2-43e7-9614-647dd78807c7","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.2162642} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.489462,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b6828c0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0b6828c0-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b6828c0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/signaling 200 8ms","method":"POST","requestID":"0b6828c0-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b698850-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e20c85f-2c8c-4d63-a6cc-94c5449c867e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e20c85f-2c8c-4d63-a6cc-94c5449c867e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"bada4e3b-bbc7-4f2e-98f1-96970df9b635","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.2257621} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03002c65-1d8a-4196-a4b9-8a1da415753d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b841822b-97de-4468-ade2-abe6ce12601d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.2258835} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57838d04-02d0-41b4-8276-c664f07046cb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.2259696} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.900487,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0b698850-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0b698850-2429-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"cde6cb2bd111dc7a7b673423af433f80","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b698850-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/03002c65-1d8a-4196-a4b9-8a1da415753d/signaling 200 33ms","method":"POST","requestID":"0b698850-2429-11f0-a0e6-516e7b85a777","responseTime":33,"status":200,"url":"/devices/03002c65-1d8a-4196-a4b9-8a1da415753d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e","requestID":"cde6cb2bd111dc7a7b673423af433f80"} gateway-1 | {"time_local":"28/Apr/2025:12:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cde6cb2bd111dc7a7b673423af433f80"} experiment-1 | {"level":"info","message":"DELETE /experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e 204 233ms","method":"DELETE","requestID":"cde6cb2bd111dc7a7b673423af433f80","responseTime":233,"status":204,"url":"/experiments/3e20c85f-2c8c-4d63-a6cc-94c5449c867e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 185ms","method":"POST","requestID":"ec994df4324ebdb8723aa8108598b7ee","responseTime":185,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"325d5db62dfe2e85bc43a3e806a91370","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.188","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec994df4324ebdb8723aa8108598b7ee"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"325d5db62dfe2e85bc43a3e806a91370"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNX0.34K6yeLUcaov7IWxiP-R8Yscw3deGsSOQNriDmyzFZc","level":"info","message":"auth send jwt","requestID":"1a683486d58c45754d9da4017285c13e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1a683486d58c45754d9da4017285c13e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1a683486d58c45754d9da4017285c13e"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:15Z"} gateway-1 | {"time_local":"28/Apr/2025:12:05:15 +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.008","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"561da02a8ba1fbf936f012ca7e93bc8b"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.84449,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:15Z"} gateway-1 | {"time_local":"28/Apr/2025:12:05:15 +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.019","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"910f7232e9e70aaf712858faaa4ff9af"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1a683486d58c45754d9da4017285c13e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841915,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNX0.34K6yeLUcaov7IWxiP-R8Yscw3deGsSOQNriDmyzFZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1a683486d58c45754d9da4017285c13e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/03002c65-1d8a-4196-a4b9-8a1da415753d' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fe312d2d-a9aa-4f22-9a6b-17e26093e230' 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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b96613b-cc41-4b88-b78f-4f4c29c610d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"687faa14-689b-4730-b155-48365745fef3","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.4508426} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1a683486d58c45754d9da4017285c13e","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65da812f-fa10-415f-802d-9016fbe1e84a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.4551547} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1a683486d58c45754d9da4017285c13e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b96613b-cc41-4b88-b78f-4f4c29c610d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"a02063fa-1729-411c-977f-14ba9337f7ac","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.4637444} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c7900b5f-9d9a-49bf-872e-c09f139cd5f5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.4638739} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"1a683486d58c45754d9da4017285c13e","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b96613b-cc41-4b88-b78f-4f4c29c610d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b96613b-cc41-4b88-b78f-4f4c29c610d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:15.463709808Z"}]},"request_id":"ee9a10fb-d476-4a28-a960-99c98f8c4fdb","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.4915397} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1a683486d58c45754d9da4017285c13e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1a683486d58c45754d9da4017285c13e"} gateway-1 | {"time_local":"28/Apr/2025:12:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a683486d58c45754d9da4017285c13e"} device-1 | {"level":"info","message":"POST /devices? 201 138ms","method":"POST","requestID":"1a683486d58c45754d9da4017285c13e","responseTime":138,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNX0.34K6yeLUcaov7IWxiP-R8Yscw3deGsSOQNriDmyzFZc","level":"info","message":"auth send jwt","requestID":"7c41053b258e6ad139ee5cb5252cb3ef"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7c41053b258e6ad139ee5cb5252cb3ef","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7c41053b258e6ad139ee5cb5252cb3ef"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.719919,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"7c41053b258e6ad139ee5cb5252cb3ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841915,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxNX0.34K6yeLUcaov7IWxiP-R8Yscw3deGsSOQNriDmyzFZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7c41053b258e6ad139ee5cb5252cb3ef","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bc56152d-81fd-4a0c-8b0d-3f271a4f2a6c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.512248} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7c41053b258e6ad139ee5cb5252cb3ef","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:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75332b48-2079-4f03-9860-e1de8061f741","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.5157719} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"7c41053b258e6ad139ee5cb5252cb3ef","responseTime":26,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"ededd66e-fa70-4e4d-85a3-3c5254bf7c3f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.5509825} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"725307f1-c311-4be2-96e1-c0c15fbfb266","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.5512035} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"7c41053b258e6ad139ee5cb5252cb3ef","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:15.550952564Z"}]},"request_id":"cbd0a098-23f3-4f21-a328-b55bcd472900","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841915.5546598} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7c41053b258e6ad139ee5cb5252cb3ef","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7c41053b258e6ad139ee5cb5252cb3ef"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c41053b258e6ad139ee5cb5252cb3ef"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"7c41053b258e6ad139ee5cb5252cb3ef","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"20c66388994983c961703f192f7f492c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"20c66388994983c961703f192f7f492c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:05:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/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":"20c66388994983c961703f192f7f492c"} device-1 | {"level":"info","message":"OPTIONS /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/websocket 200 1ms","method":"OPTIONS","requestID":"20c66388994983c961703f192f7f492c","responseTime":1,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U","level":"info","message":"auth send jwt","requestID":"d6182c507d6d2ace9f578cbc81965067"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d6182c507d6d2ace9f578cbc81965067","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d6182c507d6d2ace9f578cbc81965067"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:17Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.80805,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"d6182c507d6d2ace9f578cbc81965067","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d6182c507d6d2ace9f578cbc81965067","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d6182c507d6d2ace9f578cbc81965067"} gateway-1 | {"time_local":"28/Apr/2025:12:05:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/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":"d6182c507d6d2ace9f578cbc81965067"} device-1 | {"level":"info","message":"POST /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/websocket 200 45ms","method":"POST","requestID":"d6182c507d6d2ace9f578cbc81965067","responseTime":45,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U","level":"info","message":"auth send jwt","requestID":"6c02a9677903e2dbf1b7be31ded0c66d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6c02a9677903e2dbf1b7be31ded0c66d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6c02a9677903e2dbf1b7be31ded0c66d"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:17Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.424711,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"6c02a9677903e2dbf1b7be31ded0c66d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6c02a9677903e2dbf1b7be31ded0c66d","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:15.550952564Z"}]},"request_id":"be639727-834e-4301-bb5b-c32e607fbedf","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841917.9645655} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"6c02a9677903e2dbf1b7be31ded0c66d","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6c02a9677903e2dbf1b7be31ded0c66d"} device-1 | {"level":"info","message":"GET /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f? 200 34ms","method":"GET","requestID":"6c02a9677903e2dbf1b7be31ded0c66d","responseTime":34,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f?"} gateway-1 | {"time_local":"28/Apr/2025:12:05:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f? 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":"6c02a9677903e2dbf1b7be31ded0c66d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U","level":"info","message":"auth send jwt","requestID":"78189b241c8c49eccd4bae36028c7861"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"78189b241c8c49eccd4bae36028c7861","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"78189b241c8c49eccd4bae36028c7861"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:17Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.703712,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"78189b241c8c49eccd4bae36028c7861","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"78189b241c8c49eccd4bae36028c7861","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Attempting to run experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Attempting to book experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Successfully booked experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d1a1e80-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601607,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:18Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d1def10-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b96613b-cc41-4b88-b78f-4f4c29c610d2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0d1a1e80-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/1b96613b-cc41-4b88-b78f-4f4c29c610d2","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0d1a1e80-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.532517,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0d1def10-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0d1def10-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b96613b-cc41-4b88-b78f-4f4c29c610d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b96613b-cc41-4b88-b78f-4f4c29c610d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:15.463709808Z"}]},"request_id":"6bd9e424-7bd5-4044-beda-2aa8da2f516e","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841918.088421} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0d1a1e80-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:15.550952564Z"}]},"request_id":"0e8e29a7-0001-4a31-a708-9d1d86ff184f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841918.0895972} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0d1def10-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d1a1e80-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/1b96613b-cc41-4b88-b78f-4f4c29c610d2? 200 37ms","method":"GET","requestID":"0d1a1e80-2429-11f0-a0e6-516e7b85a777","responseTime":37,"status":200,"url":"/devices/1b96613b-cc41-4b88-b78f-4f4c29c610d2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d1def10-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f? 200 13ms","method":"GET","requestID":"0d1def10-2429-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Setting up experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"0d256920-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672652,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b96613b-cc41-4b88-b78f-4f4c29c610d2","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0d256920-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/1b96613b-cc41-4b88-b78f-4f4c29c610d2","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d256920-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"4d128101-a7b6-4c7f-8baa-00b8ab3d5598","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841918.1512048} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a74ef95-fd32-4546-b885-7eecb4049269","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841918.151396} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"0d256920-2429-11f0-a0e6-516e7b85a777","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa' to 'http://localhost/callbacks/experiment'","requestID":"0d256920-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"0d256920-2429-11f0-a0e6-516e7b85a777"} authentication-1 | {"level":"info","message":"POST /token 201 14ms","method":"POST","requestID":"0d2d7f70-2429-11f0-b953-b1d258fa6d3f","responseTime":14,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/1b96613b-cc41-4b88-b78f-4f4c29c610d2?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 71ms","method":"POST","requestID":"0d256920-2429-11f0-a0e6-516e7b85a777","responseTime":71,"status":201,"url":"/devices/1b96613b-cc41-4b88-b78f-4f4c29c610d2?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Successfully set up experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d3d5df0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d3dac10-2429-11f0-a0e6-516e7b85a777"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Successfully running experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d3dd320-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936058,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0d3d5df0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d3d5df0-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55178","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755144,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0d3dac10-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0d3dac10-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a2b7aa0-03d3-4168-8817-4ddc80025746","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841918.2953017} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.575538,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0d3dd320-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","object_type":"device","rebac_allow":false,"scope_allow":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":"0d3dd320-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:15.550952564Z"}]},"request_id":"47f4b408-1c93-4d1f-8049-9531d5b4fe99","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841918.3246503} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0d3dac10-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:18.151169705Z"}]},"request_id":"743068af-fd5b-4f4f-a2b0-cb625a3c88d8","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841918.3253987} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device ef0cd631-8000-4d34-87a0-d23edba3ccfa","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device ef0cd631-8000-4d34-87a0-d23edba3ccfa\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/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"0d3dd320-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling 404 37ms","method":"POST","requestID":"0d3dd320-2429-11f0-a0e6-516e7b85a777","responseTime":37,"status":404,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0d3d5df0-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device ef0cd631-8000-4d34-87a0-d23edba3ccfa"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"78189b241c8c49eccd4bae36028c7861"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffed59330-eea6-4684-9514-f0a112f9b25f#owner@http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffed59330-eea6-4684-9514-f0a112f9b25f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"0883ff6d-66fb-48a8-bac1-e613e5cf4ae1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841918.3291042} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3fa665d9-39c0-4ff5-98d6-c91be7a2e61d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841918.3293912} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d43eda0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"78189b241c8c49eccd4bae36028c7861","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:18Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d3dac10-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f? 200 44ms","method":"GET","requestID":"0d3dac10-2429-11f0-a0e6-516e7b85a777","responseTime":44,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d3d5df0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa? 200 47ms","method":"GET","requestID":"0d3d5df0-2429-11f0-a0e6-516e7b85a777","responseTime":47,"status":200,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa?"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f85beec2-ca0b-4c44-a44b-6738aa96bb0a","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841918.3343658} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.79806,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0d43eda0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0d43eda0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d43eda0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/signaling 200 9ms","method":"POST","requestID":"0d43eda0-2429-11f0-a0e6-516e7b85a777","responseTime":9,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f","user":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"level":"info","message":"POST /experiments? 201 347ms","method":"POST","requestID":"78189b241c8c49eccd4bae36028c7861","responseTime":347,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:12:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.351","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78189b241c8c49eccd4bae36028c7861"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"db716209aca6be24107ea52444d34ddb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"db716209aca6be24107ea52444d34ddb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/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":"db716209aca6be24107ea52444d34ddb"} device-1 | {"level":"info","message":"OPTIONS /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/websocket 200 0ms","method":"OPTIONS","requestID":"db716209aca6be24107ea52444d34ddb","responseTime":0,"status":200,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6InV0eFlEQUg5WVZqcWdBekZvOXhGQzNRWlJ2QlY4SFlaMjZMUnpva24wSGJtNXRJMGQxajZyakZUU19WVFIwM2hjOGctazNlazdCTGQ4R0tOanJZM2Z3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyMH0.0raB96HITrbFAQBWh4-rJAivjtDdxTlo8zC7OTROS14","level":"info","message":"auth send jwt","requestID":"0d31be36418373da9bafee461a2c6e80"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d31be36418373da9bafee461a2c6e80","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0d31be36418373da9bafee461a2c6e80"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674711,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"0d31be36418373da9bafee461a2c6e80","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","object_type":"device","payload":{"admin":true,"edgeToken":"utxYDAH9YVjqgAzFo9xFC3QZRvBV8HYZ26LRzokn0Hbm5tI0d1j6rjFTS_VTR03hc8g-k3ek7BLd8GKNjrY3fw","iat":1745841920,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6InV0eFlEQUg5WVZqcWdBekZvOXhGQzNRWlJ2QlY4SFlaMjZMUnpva24wSGJtNXRJMGQxajZyakZUU19WVFIwM2hjOGctazNlazdCTGQ4R0tOanJZM2Z3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyMH0.0raB96HITrbFAQBWh4-rJAivjtDdxTlo8zC7OTROS14"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d31be36418373da9bafee461a2c6e80","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0d31be36418373da9bafee461a2c6e80"} device-1 | {"level":"info","message":"POST /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/websocket 200 45ms","method":"POST","requestID":"0d31be36418373da9bafee461a2c6e80","responseTime":45,"status":200,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/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":"0d31be36418373da9bafee461a2c6e80"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b1a251933682ebd37d2a84e827bb6c45","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b1a251933682ebd37d2a84e827bb6c45","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"b1a251933682ebd37d2a84e827bb6c45"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyMH0.7Xpw86SoDisO3ANM2a1xT5cv5vgMPkUaIPnCkZuAR_g","level":"info","message":"auth send jwt","requestID":"036d51667ef1de78f4c3a51dfc287da5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"036d51667ef1de78f4c3a51dfc287da5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"036d51667ef1de78f4c3a51dfc287da5"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688229,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"036d51667ef1de78f4c3a51dfc287da5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841920,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyMH0.7Xpw86SoDisO3ANM2a1xT5cv5vgMPkUaIPnCkZuAR_g"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"036d51667ef1de78f4c3a51dfc287da5","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:18.151169705Z"}]},"request_id":"bb356ced-722d-446e-aa33-b5e9074993ba","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841920.824393} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"036d51667ef1de78f4c3a51dfc287da5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"036d51667ef1de78f4c3a51dfc287da5"} gateway-1 | {"time_local":"28/Apr/2025:12:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa? 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":"036d51667ef1de78f4c3a51dfc287da5"} device-1 | {"level":"info","message":"GET /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa? 200 35ms","method":"GET","requestID":"036d51667ef1de78f4c3a51dfc287da5","responseTime":35,"status":200,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa?"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"b1a251933682ebd37d2a84e827bb6c45","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"b1a251933682ebd37d2a84e827bb6c45"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyMH0.7Xpw86SoDisO3ANM2a1xT5cv5vgMPkUaIPnCkZuAR_g","level":"info","message":"auth send jwt","requestID":"edabb2cc4c62ce8c976dfb09f9ce465f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"edabb2cc4c62ce8c976dfb09f9ce465f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"edabb2cc4c62ce8c976dfb09f9ce465f"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.852721,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"edabb2cc4c62ce8c976dfb09f9ce465f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841920,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyMH0.7Xpw86SoDisO3ANM2a1xT5cv5vgMPkUaIPnCkZuAR_g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"edabb2cc4c62ce8c976dfb09f9ce465f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:15.550952564Z"}]},"request_id":"b87fc202-e067-4b6b-8b9a-58a5b91839e2","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841920.8393147} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"edabb2cc4c62ce8c976dfb09f9ce465f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"edabb2cc4c62ce8c976dfb09f9ce465f"} device-1 | {"level":"info","message":"GET /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f? 200 34ms","method":"GET","requestID":"edabb2cc4c62ce8c976dfb09f9ce465f","responseTime":34,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f?"} gateway-1 | {"time_local":"28/Apr/2025:12:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f? 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":"edabb2cc4c62ce8c976dfb09f9ce465f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1040d9f0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"10410100-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52608","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665504,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1040d9f0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1040d9f0-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.697764,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"10410100-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"10410100-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:18.151169705Z"}]},"request_id":"0b3038eb-e162-4afa-90d7-e3ef98bb2f2d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.3507736} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1040d9f0-2429-11f0-a0e6-516e7b85a777","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:59928","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"},"timestamp":"2025-04-28T12:05:15.550952564Z"}]},"request_id":"9fe70855-ae09-46e4-b4a1-67f991f29a44","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.3537278} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1040d9f0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"10410100-2429-11f0-a0e6-516e7b85a777","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa? 200 11ms","method":"GET","requestID":"1040d9f0-2429-11f0-a0e6-516e7b85a777","responseTime":11,"status":200,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"10410100-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f? 200 13ms","method":"GET","requestID":"10410100-2429-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"104323e0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1db494e8-e165-4695-b565-352375198ab5","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.3623905} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.330662,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"104323e0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"104323e0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"104323e0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling 200 8ms","method":"POST","requestID":"104323e0-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1044aa80-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"003ed08a-63b8-4216-9253-9b9e37b8766d","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.3725057} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.131893,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1044aa80-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1044aa80-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1044aa80-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/signaling 200 8ms","method":"POST","requestID":"1044aa80-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Building connection plan","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"0b1705af-6f8a-4e03-bec6-af987cca2456"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"370ffd9f-c499-40cd-a2f4-22a9481d9d53"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"af55efeb-fafe-4688-b3c4-1d700ca8bc80"}]},"level":"info","message":"Built pairwise service configurations","requestID":"78189b241c8c49eccd4bae36028c7861"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"78189b241c8c49eccd4bae36028c7861"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"10465830-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.7123,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"10465830-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841917,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkxN30.BdSmZP3zrKGYaSkIsUMC-XVSFlFr7acgjBOfq1FKn4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"10465830-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"10465830-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"10465830-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","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%2F591e825c-8e63-4876-9a15-b38bfe441afd'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]}},"raw_response":{},"request_id":"070f58a9-a946-4378-92dc-5fb2bf6c1651","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.3892746} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658'","requestID":"10465830-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658'","requestID":"10465830-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"10465830-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 21ms","method":"POST","requestID":"10465830-2429-11f0-a0e6-516e7b85a777","responseTime":21,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"10465830-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e237137e-09ec-4064-ad27-f11639f0ec46","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.389428} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"10465830-2429-11f0-a0e6-516e7b85a777","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658","device":"ef0cd631-8000-4d34-87a0-d23edba3ccfa","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658","device":"bb0194bb-90b4-4ab6-87c5-5530216c3e6f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"78189b241c8c49eccd4bae36028c7861"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"104dd240-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74a2b3e7-9f01-49b1-9967-b7980f0151fa","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.432319} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.425606,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"104dd240-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","object_type":"device","rebac_allow":false,"scope_allow":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":"104dd240-2429-11f0-a0e6-516e7b85a777","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"104dd240-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling 200 32ms","method":"POST","requestID":"104dd240-2429-11f0-a0e6-516e7b85a777","responseTime":32,"status":200,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"10530260-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c1752a6-45cf-4cff-8fa5-1d4af67cf670","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.4671488} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.703306,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"10530260-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"10530260-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"bb0194bb-90b4-4ab6-87c5-5530216c3e6f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"bb0194bb-90b4-4ab6-87c5-5530216c3e6f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"10530260-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/signaling 200 13ms","method":"POST","requestID":"10530260-2429-11f0-a0e6-516e7b85a777","responseTime":13,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/signaling"} device-1 | {"device":"ef0cd631-8000-4d34-87a0-d23edba3ccfa","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ef0cd631-8000-4d34-87a0-d23edba3ccfa","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 2622870925289576392 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:sSLy\r\na=ice-pwd:Z8Ff3hYC+HCCURFZZuRzaGoT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5C:B4:E2:18:D5:DD:20:D7:9C:B9:8F:DB:04:61:FD:42:7F:1A:A5:AF:95:2D:97:0B:CC:8C:84:CE:36:A5:11:6B\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"bb0194bb-90b4-4ab6-87c5-5530216c3e6f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 5307052486061263786 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:J4Nv\r\na=ice-pwd:wxyQY2pV1F/UodbDOSKF8Ucz\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2F:90:A0:2D:76:C1:08:C2:1E:A3:EA:DD:0C:A4:AB:60:9A:78:4E:4A:AE:D1:E9:01:D5:49:03:6D:61:0E:1E:F9\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"ef0cd631-8000-4d34-87a0-d23edba3ccfa","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:412616839 1 udp 2113937151 d4b49ae7-d586-473a-85a2-2025c50bfe5e.local 59524 typ host generation 0 ufrag J4Nv network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ef0cd631-8000-4d34-87a0-d23edba3ccfa","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/ef0cd631-8000-4d34-87a0-d23edba3ccfa'"} device-1 | {"content":{"candidate":"candidate:713778126 1 udp 2113937151 3616fd41-4f71-4f77-bbb7-2fb2eaca2c2b.local 43529 typ host generation 0 ufrag sSLy network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bb0194bb-90b4-4ab6-87c5-5530216c3e6f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"bb0194bb-90b4-4ab6-87c5-5530216c3e6f","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/49a65756-17d4-4bfa-b4ba-534c852cc658' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49a65756-17d4-4bfa-b4ba-534c852cc658","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ef0cd631-8000-4d34-87a0-d23edba3ccfa","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"bb0194bb-90b4-4ab6-87c5-5530216c3e6f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4e19fefa1abf5d551b12221ad410236c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"new","url":"http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658"}}},"level":"info","message":"received a callback","requestID":"4e19fefa1abf5d551b12221ad410236c"} device-1 | {"device":"ef0cd631-8000-4d34-87a0-d23edba3ccfa","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4e19fefa1abf5d551b12221ad410236c","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"bb0194bb-90b4-4ab6-87c5-5530216c3e6f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ef0cd631-8000-4d34-87a0-d23edba3ccfa","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ef0cd631-8000-4d34-87a0-d23edba3ccfa","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"4e19fefa1abf5d551b12221ad410236c","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"4e19fefa1abf5d551b12221ad410236c"} device-1 | {"data":{"peerconnection":"49a65756-17d4-4bfa-b4ba-534c852cc658","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"49a65756-17d4-4bfa-b4ba-534c852cc658","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/49a65756-17d4-4bfa-b4ba-534c852cc658' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49a65756-17d4-4bfa-b4ba-534c852cc658","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9f1ae7f1a90a879a1e6757f7ef9fe90c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9f1ae7f1a90a879a1e6757f7ef9fe90c","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/ef0cd631-8000-4d34-87a0-d23edba3ccfa"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658"}}},"level":"info","message":"received a callback","requestID":"9f1ae7f1a90a879a1e6757f7ef9fe90c"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"10707570-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49a65756-17d4-4bfa-b4ba-534c852cc658","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48b5045d-8788-4802-9470-deacc02f1852","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.6592605} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.583256,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"10707570-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658","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":"10707570-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"10707570-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"GET /peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658 200 8ms","method":"GET","requestID":"10707570-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyM30.GO92jhNVXuvCTTrvkn0ERV0P5uSuxEApg9ioom47U6Y","level":"info","message":"auth send jwt","requestID":"786f17a89df6c9da60ab08ea4773b354"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"786f17a89df6c9da60ab08ea4773b354","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fed59330-eea6-4684-9514-f0a112f9b25f","requestID":"786f17a89df6c9da60ab08ea4773b354"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.723683,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"786f17a89df6c9da60ab08ea4773b354","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841923,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyM30.GO92jhNVXuvCTTrvkn0ERV0P5uSuxEApg9ioom47U6Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"786f17a89df6c9da60ab08ea4773b354","responseTime":26,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 57ms","method":"POST","requestID":"9f1ae7f1a90a879a1e6757f7ef9fe90c","responseTime":57,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.084","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f1ae7f1a90a879a1e6757f7ef9fe90c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"10788bc0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fed59330-eea6-4684-9514-f0a112f9b25f","requestID":"786f17a89df6c9da60ab08ea4773b354"} gateway-1 | {"time_local":"28/Apr/2025:12:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fed59330-eea6-4684-9514-f0a112f9b25f HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"786f17a89df6c9da60ab08ea4773b354"} experiment-1 | {"level":"info","message":"GET /experiments/fed59330-eea6-4684-9514-f0a112f9b25f 200 38ms","method":"GET","requestID":"786f17a89df6c9da60ab08ea4773b354","responseTime":38,"status":200,"url":"/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"192d1a4c-535d-4178-b73b-31959e4c1861","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.71255} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.513524,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"10788bc0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"10788bc0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyM30.GO92jhNVXuvCTTrvkn0ERV0P5uSuxEApg9ioom47U6Y","level":"info","message":"auth send jwt","requestID":"9eab2ddf1e2299057605713db863a0ce"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9eab2ddf1e2299057605713db863a0ce","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"10788bc0-2429-11f0-a0e6-516e7b85a777"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fed59330-eea6-4684-9514-f0a112f9b25f","requestID":"9eab2ddf1e2299057605713db863a0ce"} device-1 | {"level":"info","message":"POST /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling 200 8ms","method":"POST","requestID":"10788bc0-2429-11f0-a0e6-516e7b85a777","responseTime":8,"status":200,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"107a3970-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.88357,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"9eab2ddf1e2299057605713db863a0ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"experiment:http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f","object_type":"experiment","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841923,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyM30.GO92jhNVXuvCTTrvkn0ERV0P5uSuxEApg9ioom47U6Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9eab2ddf1e2299057605713db863a0ce","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40282279-5193-4f0f-98b6-1171732ba780","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.748215} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.207884,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"107a3970-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","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/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Attempting to finish experiment","requestID":"9eab2ddf1e2299057605713db863a0ce"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"107a3970-2429-11f0-a0e6-516e7b85a777","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"107f1b70-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"107a3970-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} device-1 | {"level":"info","message":"POST /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/signaling 200 34ms","method":"POST","requestID":"107a3970-2429-11f0-a0e6-516e7b85a777","responseTime":34,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.817946,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"107f1b70-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"peerconnection:http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841923,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyM30.GO92jhNVXuvCTTrvkn0ERV0P5uSuxEApg9ioom47U6Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"107f1b70-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658","device":"ef0cd631-8000-4d34-87a0-d23edba3ccfa","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658","device":"bb0194bb-90b4-4ab6-87c5-5530216c3e6f","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/49a65756-17d4-4bfa-b4ba-534c852cc658' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49a65756-17d4-4bfa-b4ba-534c852cc658","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49a65756-17d4-4bfa-b4ba-534c852cc658': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49a65756-17d4-4bfa-b4ba-534c852cc658","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"5d4e484f-b4da-44bc-b9fd-f5d3c31821d9","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.766232} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef7cd231-6cab-464b-97a1-85545882cc87","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.7665653} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"107f1b70-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"235c2516b5d7b7f7d54f2e93c2377bb0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"235c2516b5d7b7f7d54f2e93c2377bb0","responseTime":25,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658"}}},"level":"info","message":"received a callback","requestID":"235c2516b5d7b7f7d54f2e93c2377bb0"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c4110af0ca781a466dfb8db28bda4e66","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c4110af0ca781a466dfb8db28bda4e66","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"107f1b70-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658 204 45ms","method":"DELETE","requestID":"107f1b70-2429-11f0-a0e6-516e7b85a777","responseTime":45,"status":204,"url":"/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658"} 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/ef0cd631-8000-4d34-87a0-d23edba3ccfa"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/49a65756-17d4-4bfa-b4ba-534c852cc658"}}},"level":"info","message":"received a callback","requestID":"c4110af0ca781a466dfb8db28bda4e66"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"10864760-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766347,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f'"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"10864760-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","object_type":"device","payload":{"admin":true,"edgeToken":"kjdojEixb9ENxpVbhjTocmlINPozawRnmh2YGDf5Zso3uYMJ3HSx7L_VsT7eI7_7aayf1qXRvrLXnE7bxK8fOg","iat":1745841923,"sub":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd","subject_alt":"http://localhost/users/591e825c-8e63-4876-9a15-b38bfe441afd"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU5MWU4MjVjLThlNjMtNDg3Ni05YTE1LWIzOGJmZTQ0MWFmZCIsImVkZ2VUb2tlbiI6ImtqZG9qRWl4YjlFTnhwVmJoalRvY21sSU5Qb3phd1JubWgyWUdEZjVac28zdVlNSjNIU3g3TF9Wc1Q3ZUk3XzdhYXlmMXFYUnZyTFhuRTdieEs4Zk9nIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MTkyM30.GO92jhNVXuvCTTrvkn0ERV0P5uSuxEApg9ioom47U6Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"10864760-2429-11f0-a0e6-516e7b85a777","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"ec7154cc-aee6-4bbf-979a-52943a8b794c","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.808619} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b802c229-388b-413d-86ae-183a6885d182","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.8088822} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"10864760-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"10864760-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"DELETE /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa 204 45ms","method":"DELETE","requestID":"10864760-2429-11f0-a0e6-516e7b85a777","responseTime":45,"status":204,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"},"level":"info","message":"Successfully finished experiment","requestID":"9eab2ddf1e2299057605713db863a0ce"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"108f9630-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef0cd631-8000-4d34-87a0-d23edba3ccfa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5974713-f5e2-48e4-a8f6-f2c53a1c7df0","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.8633003} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.592316,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"108f9630-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"108f9630-2429-11f0-a0e6-516e7b85a777","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/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"108f9630-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling 404 7ms","method":"POST","requestID":"108f9630-2429-11f0-a0e6-516e7b85a777","responseTime":7,"status":404,"url":"/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"9eab2ddf1e2299057605713db863a0ce"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1090f5c0-2429-11f0-a0e6-516e7b85a777"} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffed59330-eea6-4684-9514-f0a112f9b25f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffed59330-eea6-4684-9514-f0a112f9b25f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F591e825c-8e63-4876-9a15-b38bfe441afd"}]},"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","writes":null},"raw_response":{},"request_id":"b96e1e4b-c999-4e59-8e47-2e2d9df11f38","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.8931665} authorization-1 | {"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","contextual_tuples":null,"store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb0194bb-90b4-4ab6-87c5-5530216c3e6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0818f7ea-27c2-496a-abf3-bc8bd7ddbb7b","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.8933406} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59928","raw_request":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"raw_response":{"authorization_model":{"id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ec85979-044f-4b19-9785-42a970bef88f","store_id":"01JSY4E3MNRNVVEJH5RZYVH3G7","subsystem":"openfga","timestamp":1745841923.8933635} authorization-1 | {"client_addr":"127.0.0.1:55516","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.48985,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","openfga":{"authorization_model_id":"01JSY4E3PB7SSAT1CJ3PZ9E3G1","store":"01JSY4E3MNRNVVEJH5RZYVH3G7"},"requestID":"1090f5c0-2429-11f0-a0e6-516e7b85a777","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1090f5c0-2429-11f0-a0e6-516e7b85a777","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"9eab2ddf1e2299057605713db863a0ce","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1090f5c0-2429-11f0-a0e6-516e7b85a777"} device-1 | {"level":"info","message":"POST /devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/signaling 200 30ms","method":"POST","requestID":"1090f5c0-2429-11f0-a0e6-516e7b85a777","responseTime":30,"status":200,"url":"/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fed59330-eea6-4684-9514-f0a112f9b25f","requestID":"9eab2ddf1e2299057605713db863a0ce"} gateway-1 | {"time_local":"28/Apr/2025:12:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fed59330-eea6-4684-9514-f0a112f9b25f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.284","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9eab2ddf1e2299057605713db863a0ce"} experiment-1 | {"level":"info","message":"DELETE /experiments/fed59330-eea6-4684-9514-f0a112f9b25f 204 282ms","method":"DELETE","requestID":"9eab2ddf1e2299057605713db863a0ce","responseTime":282,"status":204,"url":"/experiments/fed59330-eea6-4684-9514-f0a112f9b25f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 207ms","method":"POST","requestID":"235c2516b5d7b7f7d54f2e93c2377bb0","responseTime":207,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 206ms","method":"POST","requestID":"c4110af0ca781a466dfb8db28bda4e66","responseTime":206,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.234","http_referrer":"","http_user_agent":"node-fetch","requestID":"235c2516b5d7b7f7d54f2e93c2377bb0"} gateway-1 | {"time_local":"28/Apr/2025:12:05: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.208","http_referrer":"","http_user_agent":"node-fetch","requestID":"c4110af0ca781a466dfb8db28bda4e66"} gateway-1 | {"time_local":"28/Apr/2025:12:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2097","request_time":"3.223","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"43b0b9546c56932e580d65355bcabd02"} gateway-1 | {"time_local":"28/Apr/2025:12:05:24 +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.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":"210279a820525002fe1e4046810be99a"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bb0194bb-90b4-4ab6-87c5-5530216c3e6f' closed"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ef0cd631-8000-4d34-87a0-d23edba3ccfa' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eee613410e9e81a7e5b7e6854dab7e9d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eee613410e9e81a7e5b7e6854dab7e9d","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/ef0cd631-8000-4d34-87a0-d23edba3ccfa"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"eee613410e9e81a7e5b7e6854dab7e9d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"eee613410e9e81a7e5b7e6854dab7e9d","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.004","http_referrer":"","http_user_agent":"node-fetch","requestID":"eee613410e9e81a7e5b7e6854dab7e9d"} authorization-1 exited with code 0 federation-1 exited with code 143 device-1 exited with code 143 experiment-1 exited with code 143 authentication-1 exited with code 143 gateway-1 exited with code 0